Search in sources :

Example 1 with FatalErrorOccurred

use of org.apache.flink.runtime.clusterframework.messages.FatalErrorOccurred in project flink by apache.

the class FlinkResourceManager method preStart.

// ------------------------------------------------------------------------
//  Actor Behavior
// ------------------------------------------------------------------------
@Override
public void preStart() {
    try {
        // we start our leader retrieval service to make sure we get informed
        // about JobManager leader changes
        leaderRetriever.start(new LeaderRetrievalListener() {

            @Override
            public void notifyLeaderAddress(String leaderAddress, UUID leaderSessionID) {
                self().tell(new NewLeaderAvailable(leaderAddress, leaderSessionID), ActorRef.noSender());
            }

            @Override
            public void handleError(Exception e) {
                self().tell(new FatalErrorOccurred("Leader retrieval service failed", e), ActorRef.noSender());
            }
        });
        // framework specific initialization
        initialize();
    } catch (Throwable t) {
        self().tell(new FatalErrorOccurred("Error during startup of ResourceManager actor", t), ActorRef.noSender());
    }
}
Also used : NewLeaderAvailable(org.apache.flink.runtime.clusterframework.messages.NewLeaderAvailable) FatalErrorOccurred(org.apache.flink.runtime.clusterframework.messages.FatalErrorOccurred) LeaderRetrievalListener(org.apache.flink.runtime.leaderretrieval.LeaderRetrievalListener) UUID(java.util.UUID)

Example 2 with FatalErrorOccurred

use of org.apache.flink.runtime.clusterframework.messages.FatalErrorOccurred in project flink by apache.

the class FlinkResourceManager method handleMessage.

/**
	 *
	 * This method receives the actor messages after they have been filtered for
	 * a match with the leader session.
	 *
	 * @param message The incoming actor message.
	 */
@Override
protected void handleMessage(Object message) {
    try {
        if (message instanceof CheckAndAllocateContainers) {
            checkWorkersPool();
        } else if (message instanceof SetWorkerPoolSize) {
            SetWorkerPoolSize msg = (SetWorkerPoolSize) message;
            adjustDesignatedNumberOfWorkers(msg.numberOfWorkers());
        } else if (message instanceof RemoveResource) {
            RemoveResource msg = (RemoveResource) message;
            removeRegisteredResource(msg.resourceId());
        } else if (message instanceof NotifyResourceStarted) {
            NotifyResourceStarted msg = (NotifyResourceStarted) message;
            handleResourceStarted(sender(), msg.getResourceID());
        } else if (message instanceof NewLeaderAvailable) {
            NewLeaderAvailable msg = (NewLeaderAvailable) message;
            newJobManagerLeaderAvailable(msg.leaderAddress(), msg.leaderSessionId());
        } else if (message instanceof TriggerRegistrationAtJobManager) {
            TriggerRegistrationAtJobManager msg = (TriggerRegistrationAtJobManager) message;
            triggerConnectingToJobManager(msg.jobManagerAddress());
        } else if (message instanceof RegisterResourceManagerSuccessful) {
            RegisterResourceManagerSuccessful msg = (RegisterResourceManagerSuccessful) message;
            jobManagerLeaderConnected(msg.jobManager(), msg.currentlyRegisteredTaskManagers());
        } else if (message instanceof StopCluster) {
            StopCluster msg = (StopCluster) message;
            shutdownCluster(msg.finalStatus(), msg.message());
            sender().tell(decorateMessage(StopClusterSuccessful.getInstance()), ActorRef.noSender());
        } else if (message instanceof RegisterInfoMessageListener) {
            if (jobManager != null) {
                infoMessageListeners.add(sender());
                sender().tell(decorateMessage(RegisterInfoMessageListenerSuccessful.get()), // answer as the JobManager
                jobManager);
            }
        } else if (message instanceof UnRegisterInfoMessageListener) {
            infoMessageListeners.remove(sender());
        } else if (message instanceof FatalErrorOccurred) {
            FatalErrorOccurred fatalErrorOccurred = (FatalErrorOccurred) message;
            fatalError(fatalErrorOccurred.message(), fatalErrorOccurred.error());
        } else // --- unknown messages
        {
            LOG.error("Discarding unknown message: {}", message);
        }
    } catch (Throwable t) {
        // fatal error, needs master recovery
        fatalError("Error processing actor message", t);
    }
}
Also used : CheckAndAllocateContainers(org.apache.flink.runtime.clusterframework.messages.CheckAndAllocateContainers) UnRegisterInfoMessageListener(org.apache.flink.runtime.clusterframework.messages.UnRegisterInfoMessageListener) UnRegisterInfoMessageListener(org.apache.flink.runtime.clusterframework.messages.UnRegisterInfoMessageListener) RegisterInfoMessageListener(org.apache.flink.runtime.clusterframework.messages.RegisterInfoMessageListener) TriggerRegistrationAtJobManager(org.apache.flink.runtime.clusterframework.messages.TriggerRegistrationAtJobManager) NewLeaderAvailable(org.apache.flink.runtime.clusterframework.messages.NewLeaderAvailable) FatalErrorOccurred(org.apache.flink.runtime.clusterframework.messages.FatalErrorOccurred) SetWorkerPoolSize(org.apache.flink.runtime.clusterframework.messages.SetWorkerPoolSize) StopCluster(org.apache.flink.runtime.clusterframework.messages.StopCluster) RegisterResourceManagerSuccessful(org.apache.flink.runtime.clusterframework.messages.RegisterResourceManagerSuccessful) RemoveResource(org.apache.flink.runtime.clusterframework.messages.RemoveResource) NotifyResourceStarted(org.apache.flink.runtime.clusterframework.messages.NotifyResourceStarted)

Aggregations

FatalErrorOccurred (org.apache.flink.runtime.clusterframework.messages.FatalErrorOccurred)2 NewLeaderAvailable (org.apache.flink.runtime.clusterframework.messages.NewLeaderAvailable)2 UUID (java.util.UUID)1 CheckAndAllocateContainers (org.apache.flink.runtime.clusterframework.messages.CheckAndAllocateContainers)1 NotifyResourceStarted (org.apache.flink.runtime.clusterframework.messages.NotifyResourceStarted)1 RegisterInfoMessageListener (org.apache.flink.runtime.clusterframework.messages.RegisterInfoMessageListener)1 RegisterResourceManagerSuccessful (org.apache.flink.runtime.clusterframework.messages.RegisterResourceManagerSuccessful)1 RemoveResource (org.apache.flink.runtime.clusterframework.messages.RemoveResource)1 SetWorkerPoolSize (org.apache.flink.runtime.clusterframework.messages.SetWorkerPoolSize)1 StopCluster (org.apache.flink.runtime.clusterframework.messages.StopCluster)1 TriggerRegistrationAtJobManager (org.apache.flink.runtime.clusterframework.messages.TriggerRegistrationAtJobManager)1 UnRegisterInfoMessageListener (org.apache.flink.runtime.clusterframework.messages.UnRegisterInfoMessageListener)1 LeaderRetrievalListener (org.apache.flink.runtime.leaderretrieval.LeaderRetrievalListener)1