Search in sources :

Example 1 with UnregisterFrameworkMessage

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

the class InternalSchedulerDriver method stop.

@Override
public Status stop(final boolean failover) {
    Status status = context.getStateMachine();
    if (!context.isStateMachine(DRIVER_RUNNING, DRIVER_ABORTED)) {
        return status;
    }
    if (context.isConnected() && !failover) {
        final UnregisterFrameworkMessage message = UnregisterFrameworkMessage.newBuilder().setFrameworkId(context.getFrameworkId()).build();
        eventBus.post(new RemoteMessageEnvelope(context.getDriverUPID(), context.getMasterUPID(), message));
    }
    try {
        closer.close();
    } catch (final IOException e) {
        LOG.warn(e, "While stopping");
    }
    context.setStateMachine(DRIVER_STOPPED);
    // state on the return.
    if (status != DRIVER_ABORTED) {
        status = DRIVER_STOPPED;
    }
    return status;
}
Also used : Status(org.apache.mesos.Protos.Status) TaskStatus(org.apache.mesos.Protos.TaskStatus) UnregisterFrameworkMessage(mesos.internal.Messages.UnregisterFrameworkMessage) RemoteMessageEnvelope(com.groupon.mesos.scheduler.SchedulerMessageEnvelope.RemoteMessageEnvelope) IOException(java.io.IOException)

Aggregations

RemoteMessageEnvelope (com.groupon.mesos.scheduler.SchedulerMessageEnvelope.RemoteMessageEnvelope)1 IOException (java.io.IOException)1 UnregisterFrameworkMessage (mesos.internal.Messages.UnregisterFrameworkMessage)1 Status (org.apache.mesos.Protos.Status)1 TaskStatus (org.apache.mesos.Protos.TaskStatus)1