You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by il...@apache.org on 2020/05/29 09:45:40 UTC

[ignite] branch master updated: IGNITE-13062 Race in state processor fixed - Fixes #7837.

This is an automated email from the ASF dual-hosted git repository.

ilyak pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new 8c7a76e  IGNITE-13062 Race in state processor fixed - Fixes #7837.
8c7a76e is described below

commit 8c7a76ef337afc59b7982041586e288d5f010a41
Author: ibessonov <be...@gmail.com>
AuthorDate: Fri May 29 12:45:10 2020 +0300

    IGNITE-13062 Race in state processor fixed - Fixes #7837.
    
    Signed-off-by: Ilya Kasnacheev <il...@gmail.com>
---
 .../ignite/internal/processors/cluster/GridClusterStateProcessor.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

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 1fbd305..7353135 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
@@ -564,11 +564,13 @@ public class GridClusterStateProcessor extends GridProcessorAdapter implements I
             if (joinFut != null)
                 joinFut.onDone(false);
 
-            GridFutureAdapter<Void> transitionFut = transitionFuts.remove(discoClusterState.transitionRequestId());
+            GridFutureAdapter<Void> transitionFut = transitionFuts.get(discoClusterState.transitionRequestId());
 
             if (transitionFut != null) {
                 discoClusterState.setTransitionResult(msg.requestId(), msg.state());
 
+                transitionFuts.remove(discoClusterState.transitionRequestId());
+
                 transitionFut.onDone();
             }
         }