You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2016/12/30 10:59:42 UTC
ignite git commit: Need init page memory on clients for LOCAL caches.
Repository: ignite
Updated Branches:
refs/heads/ignite-3477 c66bb4f8f -> 53b579f94
Need init page memory on clients for LOCAL caches.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/53b579f9
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/53b579f9
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/53b579f9
Branch: refs/heads/ignite-3477
Commit: 53b579f9487bb95b8b09064cd21087cb464bdf22
Parents: c66bb4f
Author: sboikov <sb...@gridgain.com>
Authored: Fri Dec 30 13:59:39 2016 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri Dec 30 13:59:39 2016 +0300
----------------------------------------------------------------------
.../processors/cache/GridCacheProcessor.java | 28 ++++++++++++--------
.../cache/IgniteCacheOffheapManagerImpl.java | 6 +++++
.../IgniteCacheDatabaseSharedManager.java | 16 ++++++++---
.../cluster/GridClusterStateProcessor.java | 9 ++++---
.../cache/CacheClientStoreSelfTest.java | 6 ++---
5 files changed, 44 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/53b579f9/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 4f299dd..53807f5 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
@@ -679,8 +679,11 @@ public class GridCacheProcessor extends GridProcessorAdapter {
boolean template = cfg.getName() != null && cfg.getName().endsWith("*");
- DynamicCacheDescriptor desc = new DynamicCacheDescriptor(
- ctx, cfg, cacheType, template, IgniteUuid.randomUuid());
+ DynamicCacheDescriptor desc = new DynamicCacheDescriptor(ctx,
+ cfg,
+ cacheType,
+ template,
+ IgniteUuid.randomUuid());
desc.locallyConfigured(true);
desc.staticallyConfigured(true);
@@ -712,8 +715,11 @@ public class GridCacheProcessor extends GridProcessorAdapter {
}
if (cfg.getName() == null) { // Use cache configuration with null name as template.
- DynamicCacheDescriptor desc0 = new DynamicCacheDescriptor(
- ctx, cfg, cacheType, true, IgniteUuid.randomUuid());
+ DynamicCacheDescriptor desc0 = new DynamicCacheDescriptor(ctx,
+ cfg,
+ cacheType,
+ true,
+ IgniteUuid.randomUuid());
desc0.locallyConfigured(true);
desc0.staticallyConfigured(true);
@@ -749,11 +755,11 @@ public class GridCacheProcessor extends GridProcessorAdapter {
try {
checkConsistency();
- boolean currentStatus = ctx.state().active();
+ boolean currStatus = ctx.state().active();
- //if we start as inactive node, and join to active cluster, we must registrate all caches which
- //was receive on join
- if (!ctx.isDaemon() && currentStatus && !activeOnStart) {
+ // If we start as inactive node, and join to active cluster, we must register all caches
+ // which were received on join.
+ if (!ctx.isDaemon() && currStatus && !activeOnStart) {
List<CacheConfiguration> tmpCacheCfg = new ArrayList<>();
for (CacheConfiguration conf : ctx.config().getCacheConfiguration()) {
@@ -780,13 +786,13 @@ public class GridCacheProcessor extends GridProcessorAdapter {
ctx.config().setCacheConfiguration(newCacheCfg);
}
- activeOnStart = currentStatus;
+ activeOnStart = currStatus;
}
if (activeOnStart && !ctx.clientNode() && !ctx.isDaemon())
sharedCtx.database().lock();
- //must start database before start first cache
+ // Must start database before start first cache.
sharedCtx.database().onKernalStart(false);
// Start dynamic caches received from collect discovery data.
@@ -1409,7 +1415,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
storeMgr.initialize(cfgStore, sesHolders);
- boolean affNode = CU.affinityNode(ctx.discovery().localNode(), cfg.getNodeFilter());
+ boolean affNode = cfg.getCacheMode() == LOCAL || CU.affinityNode(ctx.discovery().localNode(), cfg.getNodeFilter());
GridCacheContext<?, ?> cacheCtx = new GridCacheContext(
ctx,
http://git-wip-us.apache.org/repos/asf/ignite/blob/53b579f9/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
index bfbc616..84d972f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
@@ -112,6 +112,12 @@ public class IgniteCacheOffheapManagerImpl extends GridCacheManagerAdapter imple
indexingEnabled = GridQueryProcessor.isEnabled(cctx.config());
if (cctx.affinityNode()) {
+ if (cctx.kernalContext().clientNode()) {
+ assert cctx.isLocal() : cctx.name();
+
+ cctx.shared().database().init();
+ }
+
cctx.shared().database().checkpointReadLock();
try {
http://git-wip-us.apache.org/repos/asf/ignite/blob/53b579f9/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
index 8f3b88a..18b3a1f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
@@ -53,9 +53,17 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap
/** {@inheritDoc} */
@Override protected void start0() throws IgniteCheckedException {
- MemoryConfiguration dbCfg = cctx.kernalContext().config().getMemoryConfiguration();
+ if (!cctx.kernalContext().clientNode())
+ init();
+ }
+
+ /**
+ * @throws IgniteCheckedException If failed.
+ */
+ public void init() throws IgniteCheckedException {
+ if (pageMem == null) {
+ MemoryConfiguration dbCfg = cctx.kernalContext().config().getMemoryConfiguration();
- if (!cctx.kernalContext().clientNode()) {
if (dbCfg == null)
dbCfg = new MemoryConfiguration();
@@ -75,10 +83,10 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap
}
/**
- *
+ * @throws IgniteCheckedException If failed.
*/
public void initDataBase() throws IgniteCheckedException{
-
+ // No-op.
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/53b579f9/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
index 55061fc..d60243b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
@@ -431,9 +431,10 @@ public class GridClusterStateProcessor extends GridProcessorAdapter {
Collection<CacheConfiguration> cfgs = new ArrayList<>();
- for (DynamicCacheChangeRequest req : cgsCtx.batch.requests())
+ for (DynamicCacheChangeRequest req : cgsCtx.batch.requests()) {
if (req.startCacheConfiguration() != null)
cfgs.add(req.startCacheConfiguration());
+ }
try {
if (!client) {
@@ -446,13 +447,15 @@ public class GridClusterStateProcessor extends GridProcessorAdapter {
sharedCtx.database().initDataBase();
- for (CacheConfiguration cfg : cfgs)
+ for (CacheConfiguration cfg : cfgs) {
if (CU.isSystemCache(cfg.getName()))
sharedCtx.pageStore().initializeForCache(cfg);
+ }
- for (CacheConfiguration cfg : cfgs)
+ for (CacheConfiguration cfg : cfgs) {
if (!CU.isSystemCache(cfg.getName()))
sharedCtx.pageStore().initializeForCache(cfg);
+ }
sharedCtx.database().onActivate(ctx);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/53b579f9/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheClientStoreSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheClientStoreSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheClientStoreSelfTest.java
index d2e90e5..5422c77 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheClientStoreSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheClientStoreSelfTest.java
@@ -210,7 +210,7 @@ public class CacheClientStoreSelfTest extends GridCommonAbstractTest {
Ignite ignite = startGrid("client-1");
- IgniteCache cache = ignite.cache(CACHE_NAME);
+ IgniteCache<Object, Object> cache = ignite.cache(CACHE_NAME);
cache.get(0);
cache.getAll(F.asSet(0, 1));
@@ -242,7 +242,7 @@ public class CacheClientStoreSelfTest extends GridCommonAbstractTest {
Ignite client = startGrid("client-1");
- IgniteCache cache = client.cache(CACHE_NAME);
+ IgniteCache<Object, Object> cache = client.cache(CACHE_NAME);
cache.loadCache(null);
@@ -257,7 +257,7 @@ public class CacheClientStoreSelfTest extends GridCommonAbstractTest {
/**
* Load cache from server that created on client as LOCAL and see if it only loaded on server
*
- * @throws Exception
+ * @throws Exception If failed.
*/
public void testLocalLoadServer() throws Exception {
cacheMode = CacheMode.LOCAL;