You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by yz...@apache.org on 2017/10/13 17:43:02 UTC
[17/50] [abbrv] ignite git commit: IGNITE-6342 Fixed exchange hanging
on eviction when partition is lost
IGNITE-6342 Fixed exchange hanging on eviction when partition is lost
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b6d570fb
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b6d570fb
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b6d570fb
Branch: refs/heads/ignite-2.1.5-p1
Commit: b6d570fb0d5cc5638f857a5aa463600a942fbba0
Parents: 931320f
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Thu Sep 21 16:37:42 2017 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Thu Sep 21 16:39:28 2017 +0300
----------------------------------------------------------------------
.../discovery/GridDiscoveryManager.java | 18 +++---
.../dht/GridDhtPartitionTopologyImpl.java | 13 +++-
.../GridDhtPartitionsExchangeFuture.java | 2 +-
.../preloader/GridDhtPartitionsFullMessage.java | 2 +-
.../persistence/GridCacheOffheapManager.java | 2 +-
.../IgniteCacheDatabaseSharedManager.java | 2 +-
.../cache/persistence/tree/io/IOVersions.java | 3 +
.../ignite/spi/discovery/tcp/ServerImpl.java | 3 +-
.../IgnitePdsContinuousRestartTest.java | 45 ++++++++++++-
...ousRestartTestWithSharedGroupAndIndexes.java | 67 ++++++++++++++++++++
.../ignite/testsuites/IgnitePdsTestSuite2.java | 3 +
11 files changed, 144 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/b6d570fb/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
index 15473f1..18815ac 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
@@ -1265,7 +1265,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
"(all nodes in topology should have identical value) " +
"[locPreferIpV4=" + locPreferIpV4 + ", rmtPreferIpV4=" + rmtPreferIpV4 +
", locId8=" + U.id8(locNode.id()) + ", rmtId8=" + U.id8(n.id()) +
- ", rmtAddrs=" + U.addressesAsString(n) + ']',
+ ", rmtAddrs=" + U.addressesAsString(n) + ", rmtNode=" + U.toShortString(n) + "]",
"Local and remote 'java.net.preferIPv4Stack' system properties do not match.");
ipV4Warned = true;
@@ -1280,7 +1280,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
throw new IgniteCheckedException("Remote node has deployment mode different from local " +
"[locId8=" + U.id8(locNode.id()) + ", locMode=" + locMode +
", rmtId8=" + U.id8(n.id()) + ", rmtMode=" + rmtMode +
- ", rmtAddrs=" + U.addressesAsString(n) + ']');
+ ", rmtAddrs=" + U.addressesAsString(n) + ", rmtNode=" + U.toShortString(n) + "]");
boolean rmtP2pEnabled = n.attribute(ATTR_PEER_CLASSLOADING);
@@ -1288,7 +1288,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
throw new IgniteCheckedException("Remote node has peer class loading enabled flag different from" +
" local [locId8=" + U.id8(locNode.id()) + ", locPeerClassLoading=" + locP2pEnabled +
", rmtId8=" + U.id8(n.id()) + ", rmtPeerClassLoading=" + rmtP2pEnabled +
- ", rmtAddrs=" + U.addressesAsString(n) + ']');
+ ", rmtAddrs=" + U.addressesAsString(n) + ", rmtNode=" + U.toShortString(n) + "]");
}
Boolean rmtMarshUseDfltSuid = n.attribute(ATTR_MARSHALLER_USE_DFLT_SUID);
@@ -1302,7 +1302,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
"[locMarshUseDfltSuid=" + locMarshUseDfltSuid + ", rmtMarshUseDfltSuid=" + rmtMarshUseDfltSuid +
", locNodeAddrs=" + U.addressesAsString(locNode) +
", rmtNodeAddrs=" + U.addressesAsString(n) +
- ", locNodeId=" + locNode.id() + ", rmtNodeId=" + n.id() + ']');
+ ", locNodeId=" + locNode.id() + ", rmtNodeId=" + n.id() + ", rmtNode=" + U.toShortString(n) + "]");
}
Boolean rmtMarshStrSerVer2 = n.attribute(ATTR_MARSHALLER_USE_BINARY_STRING_SER_VER_2);
@@ -1316,7 +1316,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
"[locMarshStrSerVer2=" + locMarshStrSerVer2 + ", rmtMarshStrSerVer2=" + rmtMarshStrSerVer2 +
", locNodeAddrs=" + U.addressesAsString(locNode) +
", rmtNodeAddrs=" + U.addressesAsString(n) +
- ", locNodeId=" + locNode.id() + ", rmtNodeId=" + n.id() + ']');
+ ", locNodeId=" + locNode.id() + ", rmtNodeId=" + n.id() + ", rmtNode=" + U.toShortString(n) + "]");
}
boolean rmtLateAssign = n.attribute(ATTR_LATE_AFFINITY_ASSIGNMENT);
@@ -1327,7 +1327,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
", locDelayAssign=" + locDelayAssign +
", rmtId8=" + U.id8(n.id()) +
", rmtLateAssign=" + rmtLateAssign +
- ", rmtAddrs=" + U.addressesAsString(n) + ']');
+ ", rmtAddrs=" + U.addressesAsString(n) + ", rmtNode=" + U.toShortString(n) + "]");
}
Boolean rmtSrvcCompatibilityEnabled = n.attribute(ATTR_SERVICES_COMPATIBILITY_MODE);
@@ -1341,7 +1341,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
", rmtSrvcCompatibilityEnabled=" + rmtSrvcCompatibilityEnabled +
", locNodeAddrs=" + U.addressesAsString(locNode) +
", rmtNodeAddrs=" + U.addressesAsString(n) +
- ", locNodeId=" + locNode.id() + ", rmtNodeId=" + n.id() + ']');
+ ", locNodeId=" + locNode.id() + ", rmtNode=" + U.toShortString(n) + "]");
}
if (n.version().compareToIgnoreTimestamp(SERVICE_PERMISSIONS_SINCE) >= 0
@@ -1358,7 +1358,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
", rmtSecurityCompatibilityEnabled=" + rmtSecurityCompatibilityEnabled +
", locNodeAddrs=" + U.addressesAsString(locNode) +
", rmtNodeAddrs=" + U.addressesAsString(n) +
- ", locNodeId=" + locNode.id() + ", rmtNodeId=" + n.id() + ']');
+ ", locNodeId=" + locNode.id() + ", rmtNode=" + U.toShortString(n) + "]");
}
}
@@ -1372,7 +1372,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
", locNodeAddrs=" + U.addressesAsString(locNode) +
", rmtNodeAddrs=" + U.addressesAsString(n) +
", locNodeId=" + locNode.id() + ", rmtNodeId=" + n.id() + ", " +
- ", rmtNodeVer" + n.version() + ']');
+ ", rmtNodeVer" + n.version() + ", rmtNode=" + U.toShortString(n) + "]");
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b6d570fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
index f7f71a1..cad21d3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
@@ -1786,11 +1786,22 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology {
for (Integer part : lost) {
long updSeq = updateSeq.incrementAndGet();
- GridDhtLocalPartition locPart = localPartition(part, resTopVer, false);
+ GridDhtLocalPartition locPart = localPartition(part, resTopVer, false, true);
if (locPart != null) {
boolean marked = plc == PartitionLossPolicy.IGNORE ? locPart.own() : locPart.markLost();
+ if (!marked && locPart.state() == RENTING)
+ try {
+ //TODO https://issues.apache.org/jira/browse/IGNITE-6433
+ locPart.tryEvict();
+ locPart.rent(false).get();
+ }
+ catch (IgniteCheckedException e) {
+ U.error(log, "Failed to wait for RENTING partition eviction after partition LOST event",
+ e);
+ }
+
if (marked)
updateLocal(locPart.id(), locPart.state(), updSeq, resTopVer);
http://git-wip-us.apache.org/repos/asf/ignite/blob/b6d570fb/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 240b5f0..0ec0f82 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
@@ -1415,7 +1415,7 @@ public class GridDhtPartitionsExchangeFuture extends GridDhtTopologyFutureAdapte
cacheCtx.continuousQueries().flushBackupQueue(res);
}
- }
+ }
if (err == null) {
if (centralizedAff) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/b6d570fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsFullMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsFullMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsFullMessage.java
index edbfc23..4a449d1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsFullMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsFullMessage.java
@@ -49,7 +49,7 @@ public class GridDhtPartitionsFullMessage extends GridDhtPartitionsAbstractMessa
/** */
private static final long serialVersionUID = 0L;
- /** */
+ /** grpId -> FullMap */
@GridToStringInclude
@GridDirectTransient
private Map<Integer, GridDhtPartitionFullMap> parts;
http://git-wip-us.apache.org/repos/asf/ignite/blob/b6d570fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java
index 5cd12af..4f48bbf 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java
@@ -194,7 +194,7 @@ public class GridCacheOffheapManager extends IgniteCacheOffheapManagerImpl imple
else {
// localPartition will not acquire writeLock here because create=false.
GridDhtLocalPartition part = grp.topology().localPartition(store.partId(),
- AffinityTopologyVersion.NONE, false);
+ AffinityTopologyVersion.NONE, false, true);
if (part != null && part.state() != GridDhtPartitionState.EVICTED)
state = part.state();
http://git-wip-us.apache.org/repos/asf/ignite/blob/b6d570fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java
index 9123b42..63ae8bc 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java
@@ -735,7 +735,7 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap
/** {@inheritDoc} */
@Override public boolean checkpointLockIsHeldByThread() {
- return false;
+ return true;
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/b6d570fb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/IOVersions.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/IOVersions.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/IOVersions.java
index 48b0da1..d74d344 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/IOVersions.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/tree/io/IOVersions.java
@@ -79,6 +79,9 @@ public final class IOVersions<V extends PageIO> {
* @return IO.
*/
public V forVersion(int ver) {
+ if (ver == 0)
+ throw new IllegalStateException("Failed to get page IO instance (page content is corrupted)");
+
return vers[ver - 1];
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b6d570fb/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index 971281f..3c974ae 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -928,7 +928,8 @@ class ServerImpl extends TcpDiscoveryImpl {
" node is configured to use loopback address, but " + secondNode + " node is not " +
"(consider changing 'localAddress' configuration parameter) " +
"[locNodeAddrs=" + U.addressesAsString(locNode) + ", rmtNodeAddrs=" +
- U.addressesAsString(msg.addresses(), msg.hostNames()) + ']');
+ U.addressesAsString(msg.addresses(), msg.hostNames()) +
+ ", creatorNodeId=" + msg.creatorNodeId() + ']');
}
else
LT.warn(log, "Node has not been connected to topology and will repeat join process. " +
http://git-wip-us.apache.org/repos/asf/ignite/blob/b6d570fb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsContinuousRestartTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsContinuousRestartTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsContinuousRestartTest.java
index 238e1d1..df62f3a 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsContinuousRestartTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsContinuousRestartTest.java
@@ -22,6 +22,7 @@ import java.util.Random;
import java.util.TreeMap;
import java.util.concurrent.Callable;
import java.util.concurrent.ThreadLocalRandom;
+import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteCache;
@@ -54,6 +55,25 @@ public class IgnitePdsContinuousRestartTest extends GridCommonAbstractTest {
/** */
public static final String CACHE_NAME = "cache1";
+ /** Checkpoint delay. */
+ private volatile int checkpointDelay = -1;
+
+ /** */
+ private boolean cancel = false;
+
+ /**
+ * Default constructor.
+ */
+ public IgnitePdsContinuousRestartTest() {
+ }
+
+ /**
+ * @param cancel Cancel.
+ */
+ public IgnitePdsContinuousRestartTest(boolean cancel) {
+ this.cancel = cancel;
+ }
+
/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
IgniteConfiguration cfg = super.getConfiguration(gridName);
@@ -84,6 +104,7 @@ public class IgnitePdsContinuousRestartTest extends GridCommonAbstractTest {
cfg.setPersistentStoreConfiguration(
new PersistentStoreConfiguration()
.setWalMode(WALMode.LOG_ONLY)
+ .setCheckpointingFrequency(checkpointDelay)
);
return cfg;
@@ -195,6 +216,27 @@ public class IgnitePdsContinuousRestartTest extends GridCommonAbstractTest {
}
/**
+ *
+ * @throws Exception if failed.
+ */
+ public void testRebalncingDuringLoad_10_10_1_1() throws Exception {
+ checkRebalancingDuringLoad(10, 10, 1, 1);
+ }
+
+ /**
+ *
+ * @throws Exception if failed.
+ */
+ public void testRebalncingDuringLoad_10_500_8_16() throws Exception {
+ checkRebalancingDuringLoad(10, 500, 8, 16);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected long getTestTimeout() {
+ return TimeUnit.MINUTES.toMillis(3);
+ }
+
+ /**
* @throws Exception if failed.
*/
private void checkRebalancingDuringLoad(
@@ -203,6 +245,7 @@ public class IgnitePdsContinuousRestartTest extends GridCommonAbstractTest {
int threads,
final int batch
) throws Exception {
+ this.checkpointDelay = checkpointDelay;
startGrids(GRID_CNT);
@@ -245,7 +288,7 @@ public class IgnitePdsContinuousRestartTest extends GridCommonAbstractTest {
while (System.currentTimeMillis() < end) {
int idx = rnd.nextInt(GRID_CNT - 1) + 1;
- stopGrid(idx);
+ stopGrid(idx, cancel);
U.sleep(restartDelay);
http://git-wip-us.apache.org/repos/asf/ignite/blob/b6d570fb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsContinuousRestartTestWithSharedGroupAndIndexes.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsContinuousRestartTestWithSharedGroupAndIndexes.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsContinuousRestartTestWithSharedGroupAndIndexes.java
new file mode 100644
index 0000000..110e677
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsContinuousRestartTestWithSharedGroupAndIndexes.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.cache.persistence;
+
+import org.apache.ignite.cache.CacheAtomicityMode;
+import org.apache.ignite.cache.CacheWriteSynchronizationMode;
+import org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction;
+import org.apache.ignite.configuration.CacheConfiguration;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
+
+/**
+ * Adding shared group and indexes to testing. It would impact how we evict partitions.
+ */
+public class IgnitePdsContinuousRestartTestWithSharedGroupAndIndexes extends IgnitePdsContinuousRestartTest {
+ /** Ip finder. */
+ private static final TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
+
+ /** Cache 2 singleton group name. */
+ public static final String CACHE_GROUP_NAME = "Group2";
+
+ /**
+ * Default constructor.
+ */
+ public IgnitePdsContinuousRestartTestWithSharedGroupAndIndexes() {
+ super(false);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+ IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+ TcpDiscoverySpi discoverySpi = (TcpDiscoverySpi)cfg.getDiscoverySpi();
+ discoverySpi.setIpFinder(ipFinder);
+
+ CacheConfiguration ccfg2 = new CacheConfiguration();
+
+ ccfg2.setName(CACHE_NAME);
+ ccfg2.setGroupName(CACHE_GROUP_NAME);
+ ccfg2.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL);
+ ccfg2.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC);
+ ccfg2.setAffinity(new RendezvousAffinityFunction(false, 32));
+ ccfg2.setIndexedTypes(Integer.class, Integer.class);
+ ccfg2.setBackups(2);
+
+ cfg.setCacheConfiguration(ccfg2);
+
+ return cfg;
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b6d570fb/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePdsTestSuite2.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePdsTestSuite2.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePdsTestSuite2.java
index 4f4dedf..ab8ff81 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePdsTestSuite2.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePdsTestSuite2.java
@@ -19,6 +19,7 @@ package org.apache.ignite.testsuites;
import junit.framework.TestSuite;
import org.apache.ignite.internal.processors.cache.persistence.IgnitePdsContinuousRestartTest;
+import org.apache.ignite.internal.processors.cache.persistence.IgnitePdsContinuousRestartTestWithSharedGroupAndIndexes;
import org.apache.ignite.internal.processors.cache.persistence.IgnitePdsPageSizesTest;
import org.apache.ignite.internal.processors.cache.persistence.IgnitePdsRecoveryAfterFileCorruptionTest;
import org.apache.ignite.internal.processors.cache.persistence.IgnitePersistenceMetricsSelfTest;
@@ -64,6 +65,8 @@ public class IgnitePdsTestSuite2 extends TestSuite {
suite.addTestSuite(IgnitePdsContinuousRestartTest.class);
+ suite.addTestSuite(IgnitePdsContinuousRestartTestWithSharedGroupAndIndexes.class);
+
suite.addTestSuite(IgnitePersistentStoreDataStructuresTest.class);
// Failover test