Repository: ignite
Updated Branches:
  refs/heads/ignite-4565-ddl 2f5706dee -> 4376670bb


Added initial index state notion and populated it on cache add events.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d7bf1b73
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d7bf1b73
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d7bf1b73

Branch: refs/heads/ignite-4565-ddl
Commit: d7bf1b73d00dc38b02a84cfb9096f4d75762a681
Parents: 2f5706d
Author: devozerov <[email protected]>
Authored: Thu Mar 16 16:53:00 2017 +0300
Committer: devozerov <[email protected]>
Committed: Thu Mar 16 16:53:00 2017 +0300

----------------------------------------------------------------------
 .../processors/cache/DynamicCacheDescriptor.java | 19 ++++++++++++++++++-
 .../processors/cache/GridCacheProcessor.java     |  3 ++-
 2 files changed, 20 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/d7bf1b73/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheDescriptor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheDescriptor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheDescriptor.java
index f628e76..a90fb72 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheDescriptor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheDescriptor.java
@@ -82,6 +82,9 @@ public class DynamicCacheDescriptor {
     /** */
     private AffinityTopologyVersion rcvdFromVer;
 
+    /** Initial dynamic index state as observed from cache processor start() 
method and discovery join process. */
+    private QueryIndexStates initIdxStates;
+
     /** Dynamic index states. */
     private QueryIndexStates idxStates;
 
@@ -309,6 +312,20 @@ public class DynamicCacheDescriptor {
     /**
      * @return Index states.
      */
+    public QueryIndexStates initialIndexStates() {
+        return initIdxStates;
+    }
+
+    /**
+     * @param initIdxStates Index states.
+     */
+    public void initialIndexStates(QueryIndexStates initIdxStates) {
+        this.initIdxStates = initIdxStates != null ? initIdxStates.copy() : 
null;
+    }
+
+    /**
+     * @return Index states.
+     */
     public QueryIndexStates indexStates() {
         return idxStates;
     }
@@ -317,7 +334,7 @@ public class DynamicCacheDescriptor {
      * @param idxStates Index states.
      */
     public void indexStates(QueryIndexStates idxStates) {
-        this.idxStates = idxStates;
+        this.idxStates = idxStates != null ? idxStates.copy() : null;
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/ignite/blob/d7bf1b73/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
index 28cd0a6..8b8f5c7 100755
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
@@ -2120,7 +2120,6 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
                     if (existing != null) {
                         if (joiningNodeId.equals(ctx.localNodeId())) {
                             existing.receivedFrom(req.receivedFrom());
-
                             existing.deploymentId(req.deploymentId());
                         }
 
@@ -2146,6 +2145,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
                                 false,
                                 req.deploymentId());
 
+                        desc.initialIndexStates(req.indexStates());
                         desc.indexStates(req.indexStates());
 
                         // Received statically configured cache.
@@ -2858,6 +2858,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
                         DynamicCacheDescriptor startDesc =
                             new DynamicCacheDescriptor(ctx, ccfg, 
req.cacheType(), false, req.deploymentId());
 
+                        startDesc.initialIndexStates(req.indexStates());
                         startDesc.indexStates(req.indexStates());
 
                         if (newTopVer == null) {

Reply via email to