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) {
