Repository: ignite
Updated Branches:
  refs/heads/master ad2f58ec7 -> b263dc150


IGNITE-7618 Fix synchronously wait for dchange cluster state in validate cache 
operation - Fixes #4733.

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/b263dc15
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b263dc15
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b263dc15

Branch: refs/heads/master
Commit: b263dc150ff49c58b525644361dbd21bdc2c9639
Parents: ad2f58e
Author: ibessonov <[email protected]>
Authored: Sat Sep 15 00:25:39 2018 +0300
Committer: Dmitriy Govorukhin <[email protected]>
Committed: Sat Sep 15 00:25:39 2018 +0300

----------------------------------------------------------------------
 .../cache/distributed/dht/GridDhtTopologyFutureAdapter.java     | 5 ++++-
 .../dht/preloader/GridDhtPartitionsExchangeFuture.java          | 2 ++
 2 files changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/b263dc15/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTopologyFutureAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTopologyFutureAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTopologyFutureAdapter.java
index 3c3150a..539fef4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTopologyFutureAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTopologyFutureAdapter.java
@@ -44,6 +44,9 @@ public abstract class GridDhtTopologyFutureAdapter extends 
GridFutureAdapter<Aff
     /** Cache groups validation results. */
     protected volatile Map<Integer, CacheValidation> grpValidRes;
 
+    /** Whether or not cluster is active. */
+    protected volatile boolean clusterIsActive = true;
+
     /**
      * @param grp Cache group.
      * @param topNodes Topology nodes.
@@ -80,7 +83,7 @@ public abstract class GridDhtTopologyFutureAdapter extends 
GridFutureAdapter<Aff
         if (err != null)
             return err;
 
-        if (!cctx.shared().kernalContext().state().publicApiActiveState(true))
+        if (!clusterIsActive)
             return new CacheInvalidStateException(
                 "Failed to perform cache operation (cluster is not activated): 
" + cctx.name());
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/b263dc15/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index e66511c..265c48d 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -345,6 +345,8 @@ public class GridDhtPartitionsExchangeFuture extends 
GridDhtTopologyFutureAdapte
         this.exchActions = exchActions;
         this.affChangeMsg = affChangeMsg;
         this.validator = new GridDhtPartitionsStateValidator(cctx);
+        if (exchActions != null && exchActions.deactivate())
+            this.clusterIsActive = false;
 
         log = cctx.logger(getClass());
         exchLog = cctx.logger(EXCHANGE_LOG);

Reply via email to