Repository: ignite Updated Branches: refs/heads/master cd0fc8344 -> 27b88d2b4
IGNITE-10427 Fix GridClusterStateProcessor#changeGlobalState0() should wrap future before sending ChangeGlobalStateMessage - Fixes #5513. Signed-off-by: Dmitriy Govorukhin <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/27b88d2b Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/27b88d2b Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/27b88d2b Branch: refs/heads/master Commit: 27b88d2b4d6efa91906585cc70772bd9c640950b Parents: cd0fc83 Author: Sergey Antonov <[email protected]> Authored: Sat Dec 1 00:53:54 2018 +0300 Committer: Dmitriy Govorukhin <[email protected]> Committed: Sat Dec 1 00:53:54 2018 +0300 ---------------------------------------------------------------------- .../processors/cluster/GridClusterStateProcessor.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/27b88d2b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java index 95ff770..c48128e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java @@ -904,15 +904,19 @@ public class GridClusterStateProcessor extends GridProcessorAdapter implements I forceChangeBaselineTopology, System.currentTimeMillis()); + IgniteInternalFuture<?> resFut = wrapStateChangeFuture(startedFut, msg); + try { if (log.isInfoEnabled()) U.log(log, "Sending " + prettyStr(activate) + " request with BaselineTopology " + blt); ctx.discovery().sendCustomEvent(msg); - if (ctx.isStopping()) - startedFut.onDone(new IgniteCheckedException("Failed to execute " + prettyStr(activate) + " request, " + - "node is stopping.")); + if (ctx.isStopping()) { + String errMsg = "Failed to execute " + prettyStr(activate) + " request, node is stopping."; + + startedFut.onDone(new IgniteCheckedException(errMsg)); + } } catch (IgniteCheckedException e) { U.error(log, "Failed to send global state change request: " + activate, e); @@ -920,7 +924,7 @@ public class GridClusterStateProcessor extends GridProcessorAdapter implements I startedFut.onDone(e); } - return wrapStateChangeFuture(startedFut, msg); + return resFut; } /** {@inheritDoc} */
