Search in sources :

Example 1 with ReconnectExecutorMessage

use of mesos.internal.Messages.ReconnectExecutorMessage in project jesos by groupon.

the class LocalExecutorMessageProcessor method reconnectExecutor.

@Subscribe
public void reconnectExecutor(final ReconnectExecutorMessageEnvelope envelope) {
    checkState(envelope.getRecipient().equals(context.getDriverUPID()), "Received a remote message for local delivery");
    if (context.isStateMachine(DRIVER_ABORTED)) {
        LOG.warn("driver is aborted!");
        return;
    }
    final ReconnectExecutorMessage message = envelope.getMessage();
    checkState(message.getSlaveId().equals(context.getSlaveId()), "Received reconnect from slave %s (expected %s)", message.getSlaveId().getValue(), context.getSlaveId().getValue());
    final ReregisterExecutorMessage.Builder builder = ReregisterExecutorMessage.newBuilder().setExecutorId(context.getExecutorId()).setFrameworkId(context.getFrameworkId()).addAllUpdates(context.getUpdates()).addAllTasks(tasks.values());
    eventBus.post(new RemoteMessageEnvelope(context.getDriverUPID(), context.getSlaveUPID(), builder.build()));
}
Also used : RemoteMessageEnvelope(com.groupon.mesos.executor.ExecutorMessageEnvelope.RemoteMessageEnvelope) ReregisterExecutorMessage(mesos.internal.Messages.ReregisterExecutorMessage) ReconnectExecutorMessage(mesos.internal.Messages.ReconnectExecutorMessage) Subscribe(com.google.common.eventbus.Subscribe)

Aggregations

Subscribe (com.google.common.eventbus.Subscribe)1 RemoteMessageEnvelope (com.groupon.mesos.executor.ExecutorMessageEnvelope.RemoteMessageEnvelope)1 ReconnectExecutorMessage (mesos.internal.Messages.ReconnectExecutorMessage)1 ReregisterExecutorMessage (mesos.internal.Messages.ReregisterExecutorMessage)1