in twill-yarn/src/main/java/org/apache/twill/internal/container/TwillContainerService.java [85:112]
public ListenableFuture<String> onReceived(final String messageId, final Message message) {
LOG.debug("Message received: {} {}.", messageId, message);
if (handleSecureStoreUpdate(message)) {
return Futures.immediateFuture(messageId);
}
final SettableFuture<String> result = SettableFuture.create();
Command command = message.getCommand();
if (message.getType() == Message.Type.SYSTEM
&& "instances".equals(command.getCommand()) && command.getOptions().containsKey("count")) {
context.setInstanceCount(Integer.parseInt(command.getOptions().get("count")));
}
commandExecutor.execute(new Runnable() {
@Override
public void run() {
try {
runnable.handleCommand(message.getCommand());
result.set(messageId);
} catch (Exception e) {
result.setException(e);
}
}
});
return result;
}