Repository: incubator-ignite Updated Branches: refs/heads/ignite-471-2 0491ad249 -> 950e26fe5
ignite-471-2: fixed hanging during preloading Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/950e26fe Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/950e26fe Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/950e26fe Branch: refs/heads/ignite-471-2 Commit: 950e26fe5eb060519010eba19d51590db72cc909 Parents: 0491ad2 Author: Denis Magda <[email protected]> Authored: Tue May 19 17:43:13 2015 +0300 Committer: Denis Magda <[email protected]> Committed: Tue May 19 17:43:13 2015 +0300 ---------------------------------------------------------------------- .../processors/cache/GridCacheProcessor.java | 20 ++++++++++++++------ .../cacheobject/IgniteCacheObjectProcessor.java | 2 +- .../IgniteCacheObjectProcessorImpl.java | 2 +- 3 files changed, 16 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/950e26fe/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 0e1a9c2..c75de82 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 @@ -265,7 +265,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { // Suppress warning if at least one ATOMIC cache found. perf.add("Enable ATOMIC mode if not using transactions (set 'atomicityMode' to ATOMIC)", - cfg.getAtomicityMode() == ATOMIC); + cfg.getAtomicityMode() == ATOMIC); // Suppress warning if at least one non-FULL_SYNC mode found. perf.add("Disable fully synchronous writes (set 'writeSynchronizationMode' to PRIMARY_SYNC or FULL_ASYNC)", @@ -425,7 +425,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { if (cc.getAtomicityMode() == ATOMIC) assertParameter(cc.getTransactionManagerLookupClassName() == null, - "transaction manager can not be used with ATOMIC cache"); + "transaction manager can not be used with ATOMIC cache"); } /** @@ -774,18 +774,26 @@ public class GridCacheProcessor extends GridProcessorAdapter { for (GridCacheAdapter<?, ?> cache : caches.values()) onKernalStart(cache); + boolean utilityCacheStarted = false; + // Wait for caches in SYNC preload mode. - for (GridCacheAdapter<?, ?> cache : caches.values()) { - CacheConfiguration cfg = cache.configuration(); + for (CacheConfiguration cfg : ctx.config().getCacheConfiguration()) { + GridCacheAdapter<?, ?> cache = caches.get(maskNull(cfg.getName())); if (cfg.getRebalanceMode() == SYNC) { if (cfg.getCacheMode() == REPLICATED || (cfg.getCacheMode() == PARTITIONED && cfg.getRebalanceDelay() >= 0)) - cache.preloader().syncFuture().get(); + cache.preloader().syncFuture().get(); + } + + if (CU.isUtilityCache(cache.name())) { + ctx.cacheObjects().onUtilityCacheStarted(); + + utilityCacheStarted = true; } } - ctx.cacheObjects().onCacheProcessorStarted(); + assert utilityCacheStarted; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/950e26fe/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessor.java index a04692d..8d0dd25 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessor.java @@ -33,7 +33,7 @@ public interface IgniteCacheObjectProcessor extends GridProcessor { /** * @see GridComponent#onKernalStart() */ - public void onCacheProcessorStarted(); + public void onUtilityCacheStarted(); /** * @param typeName Type name. http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/950e26fe/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessorImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessorImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessorImpl.java index 046da75..a1d3844 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessorImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessorImpl.java @@ -208,7 +208,7 @@ public class IgniteCacheObjectProcessorImpl extends GridProcessorAdapter impleme } /** {@inheritDoc} */ - @Override public void onCacheProcessorStarted() { + @Override public void onUtilityCacheStarted() { // No-op. }
