/** {@inheritDoc} */ @Override @Nullable public ChangeGlobalStateFinishMessage onNodeLeft(ClusterNode node) { if (globalState.transition()) { Set<UUID> nodes = globalState.transitionNodes(); if (nodes.remove(node.id()) && nodes.isEmpty()) { U.warn(log, "Failed to change cluster state, all participating nodes failed. " + "Switching to inactive state."); ChangeGlobalStateFinishMessage msg = new ChangeGlobalStateFinishMessage(globalState.transitionRequestId(), false, false); onStateFinishMessage(msg); return msg; } } return null; }
/** {@inheritDoc} */ @Override public void onStateFinishMessage(ChangeGlobalStateFinishMessage msg) { DiscoveryDataClusterState state = globalState; if (msg.requestId().equals(state.transitionRequestId())) { log.info("Received state change finish message: " + msg.clusterActive()); globalState = state.finish(msg.success()); afterStateChangeFinished(msg.id(), msg.success()); ctx.cache().onStateChangeFinish(msg); TransitionOnJoinWaitFuture joinFut = this.joinFut; if (joinFut != null) joinFut.onDone(false); GridFutureAdapter<Void> transitionFut = transitionFuts.remove(state.transitionRequestId()); if (transitionFut != null) { state.setTransitionResult(msg.requestId(), msg.clusterActive()); transitionFut.onDone(); } } else U.warn(log, "Received state finish message with unexpected ID: " + msg); }
ChangeGlobalStateFinishMessage msg0 = (ChangeGlobalStateFinishMessage)msg; if (msg0.clusterActive()) pendingEvts.forEach(t -> addTask(t.evt, t.topVer, t.depActions)); else if (log.isDebugEnabled())
/** {@inheritDoc} */ @Override public void onStateFinishMessage(ChangeGlobalStateFinishMessage msg) { DiscoveryDataClusterState state = globalState; if (msg.requestId().equals(state.transitionRequestId())) { log.info("Received state change finish message: " + msg.clusterActive()); globalState = globalState.finish(msg.success()); afterStateChangeFinished(msg.id(), msg.success()); ctx.cache().onStateChangeFinish(msg); TransitionOnJoinWaitFuture joinFut = this.joinFut; if (joinFut != null) joinFut.onDone(false); GridFutureAdapter<Void> transitionFut = transitionFuts.remove(state.transitionRequestId()); if (transitionFut != null) { state.setTransitionResult(msg.requestId(), msg.clusterActive()); transitionFut.onDone(); } } else U.warn(log, "Received state finish message with unexpected ID: " + msg); }
ChangeGlobalStateFinishMessage stateFinishMsg = new ChangeGlobalStateFinishMessage( req.requestId(), active,
/** {@inheritDoc} */ @Override @Nullable public ChangeGlobalStateFinishMessage onNodeLeft(ClusterNode node) { if (globalState.transition()) { Set<UUID> nodes = globalState.transitionNodes(); if (nodes.remove(node.id()) && nodes.isEmpty()) { U.warn(log, "Failed to change cluster state, all participating nodes failed. " + "Switching to inactive state."); ChangeGlobalStateFinishMessage msg = new ChangeGlobalStateFinishMessage(globalState.transitionRequestId(), false, false); onStateFinishMessage(msg); return msg; } } return null; }
ChangeGlobalStateFinishMessage stateFinishMsg = new ChangeGlobalStateFinishMessage( req.requestId(), active,