(TWILL-238) restart instances with Set of Integers
This closes #56 on Github.
Signed-off-by: Terence Yim <chtyim@apache.org>
diff --git a/twill-api/src/main/java/org/apache/twill/api/TwillController.java b/twill-api/src/main/java/org/apache/twill/api/TwillController.java
index f5004ae..10b2b97 100644
--- a/twill-api/src/main/java/org/apache/twill/api/TwillController.java
+++ b/twill-api/src/main/java/org/apache/twill/api/TwillController.java
@@ -92,6 +92,15 @@
Future<String> restartInstances(String runnable, int instanceId, int... moreInstanceIds);
/**
+ * Restart instances of some {@link TwillRunnable}.
+ *
+ * @param runnable The name of the runnable to restart.
+ * @param instanceIds Instances to be restarted
+ * @return A {@link Future} that will be completed when the restart operation has been done.
+ */
+ Future<String> restartInstances(String runnable, Set<Integer> instanceIds);
+
+ /**
* Update the log levels for requested logger names for Twill applications running in a container.
* The log level for a logger name can be {@code null} except for the root logger, which will reset the log level for
* the specified logger.
@@ -104,7 +113,8 @@
/**
* Update the log levels for requested logger names for a {@link TwillRunnable}.
- * The log level for a logger name can be {@code null} except for the root logger, which will reset the log level for
+ * The log level for a logger name can be {@code null} except for the root logger,
+ * which will reset the log level for
* the specified logger.
*
* @param runnableName The name of the runnable to update the log level.
diff --git a/twill-core/src/main/java/org/apache/twill/internal/AbstractTwillController.java b/twill-core/src/main/java/org/apache/twill/internal/AbstractTwillController.java
index e49a2ad..fd8a939 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/AbstractTwillController.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/AbstractTwillController.java
@@ -188,12 +188,17 @@
instanceIds.add(id);
}
+ return restartInstances(runnable, instanceIds);
+ }
+
+ @Override
+ public ListenableFuture<String> restartInstances(final String runnable, Set<Integer> instanceIds) {
return Futures.transform(restartInstances(ImmutableMap.of(runnable, instanceIds)),
new Function<Set<String>, String>() {
- public String apply(Set<String> input) {
- return runnable;
- }
- });
+ public String apply(Set<String> input) {
+ return runnable;
+ }
+ });
}
@Override