fix assertion on restore data structure
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/f2482927 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/f2482927 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/f2482927 Branch: refs/heads/ignite-5398 Commit: f24829278a4b67e3890ea6c66a13b90b6e60cb06 Parents: 6d3f86f Author: Dmitriy Govorukhin <[email protected]> Authored: Wed May 31 16:19:16 2017 +0300 Committer: Dmitriy Govorukhin <[email protected]> Committed: Wed May 31 16:19:16 2017 +0300 ---------------------------------------------------------------------- .../processors/cache/CacheAffinitySharedManager.java | 5 ----- .../processors/cache/GridCacheProcessor.java | 10 ++++++++++ .../datastructures/DataStructuresProcessor.java | 15 ++++++++++----- 3 files changed, 20 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/f2482927/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java index 9c57ded..5fdd1bc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java @@ -397,8 +397,6 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap Integer cacheId = CU.cacheId(req.cacheName()); if (req.start()) { - systemCacheRestarted |= GridCacheUtils.isSystemCache(req.cacheName()); - exchLog.info("prepareCacheStart start [topVer=" + fut.topologyVersion() + ", cache=" + req.cacheName() + ']'); cctx.cache().prepareCacheStart(req, fut.topologyVersion()); @@ -510,9 +508,6 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap } } - if (systemCacheRestarted) - ctx.dataStructures().restoreStructuresState(ctx); - exchLog.info("onCacheChangeRequest end [topVer=" + fut.topologyVersion() + ", crd=" + crd + ']'); return clientOnly; http://git-wip-us.apache.org/repos/asf/ignite/blob/f2482927/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 9e51f6f..6d0b310 100644 --- 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 @@ -1975,6 +1975,16 @@ public class GridCacheProcessor extends GridProcessorAdapter { } } + if (reqs != null) { + for (DynamicCacheChangeRequest req : reqs) { + if (req.start() && GridCacheUtils.isSystemCache(req.cacheName())) { + ctx.dataStructures().restoreStructuresState(ctx); + + break; + } + } + } + if (!F.isEmpty(reqs) && err == null) { Collection<IgniteBiTuple<GridCacheContext, Boolean>> stopped = null; http://git-wip-us.apache.org/repos/asf/ignite/blob/f2482927/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java index 0ae5b86..1e5993b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java @@ -324,14 +324,19 @@ public final class DataStructuresProcessor extends GridProcessorAdapter implemen /** * @param ctx Context. */ - public void restoreStructuresState(GridKernalContext ctx) throws IgniteCheckedException { + public void restoreStructuresState(GridKernalContext ctx) { onKernalStart0(true); - for (Map.Entry<GridCacheInternal, GridCacheRemovable> e : dsMap.entrySet()) { - GridCacheRemovable v = e.getValue(); + try { + for (Map.Entry<GridCacheInternal, GridCacheRemovable> e : dsMap.entrySet()) { + GridCacheRemovable v = e.getValue(); - if (v instanceof IgniteChangeGlobalStateSupport) - ((IgniteChangeGlobalStateSupport)v).onActivate(ctx); + if (v instanceof IgniteChangeGlobalStateSupport) + ((IgniteChangeGlobalStateSupport)v).onActivate(ctx); + } + } + catch (IgniteCheckedException e) { + log.error("Fail restore structures state ", e); } }
