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 <[email protected]> Authored: Thu Sep 21 16:37:42 2017 +0300 Committer: Alexey Goncharuk <[email protected]> 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
