You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dp...@apache.org on 2018/05/24 12:52:07 UTC
[44/50] [abbrv] ignite git commit: IGNITE-5789 Fix for case server
was restarted,
client doesn't create caches defined in client's configuration. - Fixes #3905.
IGNITE-5789 Fix for case server was restarted, client doesn't create caches defined in client's configuration. - Fixes #3905.
Signed-off-by: dpavlov <dp...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d821d099
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d821d099
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d821d099
Branch: refs/heads/ignite-5789-1
Commit: d821d0999749a1be318a2106d736542272a42ab0
Parents: a3a619b
Author: vk <ka...@gmail.com>
Authored: Wed May 23 14:59:58 2018 +0300
Committer: dpavlov <dp...@apache.org>
Committed: Wed May 23 14:59:58 2018 +0300
----------------------------------------------------------------------
.../GridDhtPartitionsExchangeFuture.java | 24 +++++++++++++++++
.../ClientReconnectAfterClusterRestartTest.java | 27 ++++++++++----------
2 files changed, 38 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/d821d099/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index c62b067..fe0ce2b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -44,6 +44,7 @@ import org.apache.ignite.cache.CacheMode;
import org.apache.ignite.cache.CacheRebalanceMode;
import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.configuration.NearCacheConfiguration;
import org.apache.ignite.events.DiscoveryEvent;
import org.apache.ignite.internal.IgniteClientDisconnectedCheckedException;
@@ -72,6 +73,7 @@ import org.apache.ignite.internal.processors.cache.ExchangeContext;
import org.apache.ignite.internal.processors.cache.ExchangeDiscoveryEvents;
import org.apache.ignite.internal.processors.cache.GridCacheContext;
import org.apache.ignite.internal.processors.cache.GridCacheMvccCandidate;
+import org.apache.ignite.internal.processors.cache.GridCacheProcessor;
import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
import org.apache.ignite.internal.processors.cache.LocalJoinCachesContext;
import org.apache.ignite.internal.processors.cache.StateChangeRequest;
@@ -797,6 +799,27 @@ public class GridDhtPartitionsExchangeFuture extends GridDhtTopologyFutureAdapte
}
cctx.cache().startCachesOnLocalJoin(locJoinCtx, initialVersion());
+
+ ensureClientCachesStarted();
+ }
+
+ /**
+ * Start client caches if absent.
+ */
+ private void ensureClientCachesStarted() {
+ GridCacheProcessor cacheProcessor = cctx.cache();
+
+ Set<String> cacheNames = new HashSet<>(cacheProcessor.cacheNames());
+
+ List<CacheConfiguration> notStartedCacheConfigs = new ArrayList<>();
+
+ for (CacheConfiguration cCfg : cctx.gridConfig().getCacheConfiguration()) {
+ if (!cacheNames.contains(cCfg.getName()))
+ notStartedCacheConfigs.add(cCfg);
+ }
+
+ if (!notStartedCacheConfigs.isEmpty())
+ cacheProcessor.dynamicStartCaches(notStartedCacheConfigs, false, false, false);
}
/**
@@ -3854,6 +3877,7 @@ public class GridDhtPartitionsExchangeFuture extends GridDhtTopologyFutureAdapte
/** */
NONE
}
+
/**
*
*/
http://git-wip-us.apache.org/repos/asf/ignite/blob/d821d099/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/ClientReconnectAfterClusterRestartTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/ClientReconnectAfterClusterRestartTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/ClientReconnectAfterClusterRestartTest.java
index 505d373..9012161 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/ClientReconnectAfterClusterRestartTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/ClientReconnectAfterClusterRestartTest.java
@@ -18,6 +18,9 @@
package org.apache.ignite.internal.processors.cache;
import javax.cache.CacheException;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteCache;
import org.apache.ignite.IgniteClientDisconnectedException;
@@ -33,23 +36,21 @@ import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.events.Event;
import org.apache.ignite.events.EventType;
import org.apache.ignite.internal.binary.BinaryMarshaller;
-import org.apache.ignite.lang.IgniteFuture;
import org.apache.ignite.lang.IgnitePredicate;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.jetbrains.annotations.NotNull;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-
/**
*/
public class ClientReconnectAfterClusterRestartTest extends GridCommonAbstractTest {
+ /** Server id. */
+ private static final int SERVER_ID = 0;
+
/** Client id. */
- public static final int CLIENT_ID = 1;
+ private static final int CLIENT_ID = 1;
/** Cache params. */
- public static final String CACHE_PARAMS = "PPRB_PARAMS";
+ private static final String CACHE_PARAMS = "PPRB_PARAMS";
/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception {
@@ -58,9 +59,9 @@ public class ClientReconnectAfterClusterRestartTest extends GridCommonAbstractTe
cfg.setMarshaller(new BinaryMarshaller());
cfg.setIncludeEventTypes(EventType.EVTS_CACHE);
- if (getTestIgniteInstanceName(CLIENT_ID).equals(igniteInstanceName))
+ if (getTestIgniteInstanceName(CLIENT_ID).equals(igniteInstanceName)) {
cfg.setClientMode(true);
- else {
+
CacheConfiguration ccfg = getCacheConfiguration();
cfg.setCacheConfiguration(ccfg);
@@ -88,7 +89,7 @@ public class ClientReconnectAfterClusterRestartTest extends GridCommonAbstractTe
LinkedHashMap<String, String> fields = new LinkedHashMap<>();
- fields.put("ID", "java.lang.Long" );
+ fields.put("ID", "java.lang.Long");
fields.put("PARTITIONID", "java.lang.Long");
fields.put("CLIENTID", "java.lang.Long");
fields.put("PARAMETRCODE", "java.lang.Long");
@@ -114,9 +115,9 @@ public class ClientReconnectAfterClusterRestartTest extends GridCommonAbstractTe
/** */
public void testReconnectClient() throws Exception {
try {
- startGrid(0);
+ startGrid(SERVER_ID);
- Ignite client = startGrid(1);
+ Ignite client = startGrid(CLIENT_ID);
checkTopology(2);
@@ -162,7 +163,7 @@ public class ClientReconnectAfterClusterRestartTest extends GridCommonAbstractTe
Thread.sleep(2_000);
- startGrid(0);
+ startGrid(SERVER_ID);
try {
assertNull(cache.get(1L));