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/10 17:32:30 UTC
[4/5] ignite git commit: Merge branch 'master' into ignite-5789-1
http://git-wip-us.apache.org/repos/asf/ignite/blob/3daf8128/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index fb5c107,39f4ed1..3e0b1de
--- 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
@@@ -40,8 -41,9 +41,10 @@@ import org.apache.ignite.IgniteCheckedE
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.IgniteSystemProperties;
import org.apache.ignite.cache.CacheMode;
+ import org.apache.ignite.cache.CacheRebalanceMode;
import org.apache.ignite.cluster.ClusterNode;
+import org.apache.ignite.configuration.CacheConfiguration;
+ import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.configuration.NearCacheConfiguration;
import org.apache.ignite.events.DiscoveryEvent;
import org.apache.ignite.internal.IgniteClientDisconnectedCheckedException;
@@@ -69,9 -72,11 +73,12 @@@ import org.apache.ignite.internal.proce
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;
+ import org.apache.ignite.internal.processors.cache.WalStateAbstractMessage;
+ import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.latch.Latch;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridClientPartitionTopology;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLocalPartition;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState;
@@@ -724,29 -789,7 +791,29 @@@ public class GridDhtPartitionsExchangeF
cctx.database().readCheckpointAndRestoreMemory(startDescs);
}
- cctx.cache().startCachesOnLocalJoin(caches, initialVersion());
+ 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);
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/3daf8128/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/ClientReconnectAfterClusterRestartTest.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/ClientReconnectAfterClusterRestartTest.java
index ffb339c,505d373..8c0cb1a
--- 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
@@@ -17,11 -17,10 +17,13 @@@
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;
import org.apache.ignite.IgniteDataStreamer;
import org.apache.ignite.binary.BinaryObject;
import org.apache.ignite.binary.BinaryObjectBuilder;
@@@ -115,10 -114,14 +116,12 @@@ public class ClientReconnectAfterCluste
/** */
public void testReconnectClient() throws Exception {
try {
- startGrid(0);
-
- Ignite client = startGrid(1);
-
+ startGrid(SERVER_ID);
+ Ignite client = startGrid(CLIENT_ID);
checkTopology(2);
+ IgniteCache<Long, BinaryObject> cache = client.getOrCreateCache(CACHE_PARAMS).withKeepBinary();
+
client.events().localListen(new IgnitePredicate<Event>() {
@Override public boolean apply(Event event) {
@@@ -159,19 -162,17 +162,17 @@@
Thread.sleep(2_000);
- startGrid(0);
+ startGrid(SERVER_ID);
- assert GridTestUtils.waitForCondition(new GridAbsPredicate() {
- @Override public boolean apply() {
- try {
- checkTopology(2);
+ try {
+ assertNull(cache.get(1L));
+ } catch (CacheException ce) {
+ IgniteClientDisconnectedException icde = (IgniteClientDisconnectedException)ce.getCause();
- return true;
- } catch (Exception ex) {
- return false;
- }
- }
- }, 30_000);
+ icde.reconnectFuture().get();
+
+ assertNull(cache.get(1L));
+ }
info("Pre-insert");