Repository: ignite Updated Branches: refs/heads/ignite-3477 [created] 9776f3f49
ignite-gg-11650 Stabilize 8.0.2.ea1 branch after merging activation/deactivation fix restore memory onKernalStart (save wal record before resume log) Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ef03eef4 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ef03eef4 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ef03eef4 Branch: refs/heads/ignite-3477 Commit: ef03eef463af6122b3f2eba35923ae29e419c3fb Parents: b26ca40 Author: Dmitriy Govorukhin <[email protected]> Authored: Mon Dec 19 18:02:19 2016 +0300 Committer: Dmitriy Govorukhin <[email protected]> Committed: Mon Dec 19 18:02:19 2016 +0300 ---------------------------------------------------------------------- .../processors/cache/GridCacheProcessor.java | 27 ++++++++++---------- .../internal/util/OffheapReadWriteLock.java | 4 +++ 2 files changed, 17 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/ef03eef4/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 06a6ff8..518fd18 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 @@ -734,20 +734,6 @@ public class GridCacheProcessor extends GridProcessorAdapter { try { checkConsistency(); - //must be here, because we must start log wal before start first cache - if (activeOnStart) { - //todo not used explicit lock - if (!ctx.clientNode()) - sharedCtx.database().lock(); - - sharedCtx.wal().onKernalStart(false); - - if (sharedCtx.pageStore() != null) - sharedCtx.pageStore().onKernalStart(false); - - sharedCtx.database().onKernalStart(false); - } - // Start dynamic caches received from collect discovery data. for (DynamicCacheDescriptor desc : registeredCaches.values()) { if (ctx.config().isDaemon() && !CU.isMarshallerCache(desc.cacheConfiguration().getName())) @@ -793,6 +779,19 @@ public class GridCacheProcessor extends GridProcessorAdapter { cacheStartedLatch.countDown(); } + if (activeOnStart) { + //todo not used explicit lock + if (!ctx.clientNode()) + sharedCtx.database().lock(); + + sharedCtx.wal().onKernalStart(false); + + if (sharedCtx.pageStore() != null) + sharedCtx.pageStore().onKernalStart(false); + + sharedCtx.database().onKernalStart(false); + } + // Must call onKernalStart on shared managers after creation of fetched caches. for (GridCacheSharedManager<?, ?> mgr : sharedCtx.managers()) if (sharedCtx.database() != mgr && sharedCtx.wal() != mgr && sharedCtx.pageStore() != mgr) http://git-wip-us.apache.org/repos/asf/ignite/blob/ef03eef4/modules/core/src/main/java/org/apache/ignite/internal/util/OffheapReadWriteLock.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/OffheapReadWriteLock.java b/modules/core/src/main/java/org/apache/ignite/internal/util/OffheapReadWriteLock.java index 8197bff..83765ce 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/OffheapReadWriteLock.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/OffheapReadWriteLock.java @@ -515,6 +515,10 @@ public class OffheapReadWriteLock { return lockCount(state) == 0; } + /** + * @param state State. + * @param tag Tag. + */ private boolean checkTag(long state, int tag) { // If passed in tag is negative, lock regardless of the state. return tag < 0 || tag(state) == tag;
