Repository: ignite Updated Branches: refs/heads/master 40845c677 -> 3f14d2b35
IGNITE-8540 Fast cleanup of PDS when joining node is not in baseline - Fixes #4037. Signed-off-by: Alexey Goncharuk <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/3f14d2b3 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/3f14d2b3 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/3f14d2b3 Branch: refs/heads/master Commit: 3f14d2b35d7818196598e8541590186e06b8edbb Parents: 40845c6 Author: Anton Kalashnikov <[email protected]> Authored: Fri May 25 12:01:10 2018 +0300 Committer: Alexey Goncharuk <[email protected]> Committed: Fri May 25 12:01:10 2018 +0300 ---------------------------------------------------------------------- .../pagemem/store/IgnitePageStoreManager.java | 8 ++ .../pagemem/wal/IgniteWriteAheadLogManager.java | 5 + .../processors/cache/GridCacheProcessor.java | 16 ++- .../GridDhtPartitionsExchangeFuture.java | 18 ++++ .../GridCacheDatabaseSharedManager.java | 19 +++- .../IgniteCacheDatabaseSharedManager.java | 7 ++ .../persistence/file/FilePageStoreManager.java | 23 ++++ .../wal/FileWriteAheadLogManager.java | 25 +++++ .../wal/FsyncModeFileWriteAheadLogManager.java | 25 +++++ ...niteAbsentEvictionNodeOutOfBaselineTest.java | 106 +++++++++++++++++++ .../pagemem/NoOpPageStoreManager.java | 6 ++ .../persistence/pagemem/NoOpWALManager.java | 5 + .../ignite/testsuites/IgnitePdsTestSuite2.java | 2 + 13 files changed, 262 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/3f14d2b3/modules/core/src/main/java/org/apache/ignite/internal/pagemem/store/IgnitePageStoreManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/store/IgnitePageStoreManager.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/store/IgnitePageStoreManager.java index 0fc9f94..7dba8ae 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/store/IgnitePageStoreManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/store/IgnitePageStoreManager.java @@ -20,6 +20,7 @@ package org.apache.ignite.internal.pagemem.store; import java.nio.ByteBuffer; import java.util.Map; import org.apache.ignite.IgniteCheckedException; +import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.internal.pagemem.PageMemory; import org.apache.ignite.internal.processors.cache.CacheGroupContext; import org.apache.ignite.internal.processors.cache.CacheGroupDescriptor; @@ -220,4 +221,11 @@ public interface IgnitePageStoreManager extends GridCacheSharedManager, IgniteCh * @return number of pages. */ public long pagesAllocated(int grpId); + + /** + * Cleanup persistent space for cache. + * + * @param cacheConfiguration Cache configuration of cache which should be cleanup. + */ + public void cleanupPersistentSpace(CacheConfiguration cacheConfiguration) throws IgniteCheckedException; } http://git-wip-us.apache.org/repos/asf/ignite/blob/3f14d2b3/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/IgniteWriteAheadLogManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/IgniteWriteAheadLogManager.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/IgniteWriteAheadLogManager.java index b5c22c9..fd5d53b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/IgniteWriteAheadLogManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/IgniteWriteAheadLogManager.java @@ -144,4 +144,9 @@ public interface IgniteWriteAheadLogManager extends GridCacheSharedManager, Igni * @param grpId Group id. */ public boolean disabled(int grpId); + + /** + * Cleanup all directories relating to WAL (e.g. work WAL dir, archive WAL dir). + */ + public void cleanupWalDirectories() throws IgniteCheckedException; } http://git-wip-us.apache.org/repos/asf/ignite/blob/3f14d2b3/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 ccccdec..8cd6b88 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 @@ -179,6 +179,7 @@ import static org.apache.ignite.internal.IgniteComponentType.JTA; import static org.apache.ignite.internal.IgniteNodeAttributes.ATTR_CONSISTENCY_CHECK_SKIPPED; import static org.apache.ignite.internal.IgniteNodeAttributes.ATTR_TX_CONFIG; import static org.apache.ignite.internal.processors.cache.GridCacheUtils.isNearEnabled; +import static org.apache.ignite.internal.processors.cache.GridCacheUtils.isPersistentCache; /** * Cache processor. @@ -3294,11 +3295,24 @@ public class GridCacheProcessor extends GridProcessorAdapter { assert desc != null; if (sharedCtx.pageStore() != null && !sharedCtx.kernalContext().clientNode() && - CU.isPersistentCache(desc.cacheConfiguration(), sharedCtx.gridConfig().getDataStorageConfiguration())) + isPersistentCache(desc.cacheConfiguration(), sharedCtx.gridConfig().getDataStorageConfiguration())) sharedCtx.pageStore().storeCacheData(desc.toStoredData(), true); } /** + * Remove all persistent files for all registered caches. + */ + public void cleanupCachesDirectories() throws IgniteCheckedException { + if (sharedCtx.pageStore() == null || sharedCtx.kernalContext().clientNode()) + return; + + for (DynamicCacheDescriptor desc : cacheDescriptors().values()) { + if (isPersistentCache(desc.cacheConfiguration(), sharedCtx.gridConfig().getDataStorageConfiguration())) + sharedCtx.pageStore().cleanupPersistentSpace(desc.cacheConfiguration()); + } + } + + /** * @param reqs Requests. * @return Collection of futures. */ http://git-wip-us.apache.org/repos/asf/ignite/blob/3f14d2b3/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 fe0ce2b..ccd2b16 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 @@ -776,6 +776,15 @@ public class GridDhtPartitionsExchangeFuture extends GridDhtTopologyFutureAdapte * @throws IgniteCheckedException If failed. */ private void initCachesOnLocalJoin() throws IgniteCheckedException { + if (isLocalNodeNotInBaseline()) { + cctx.cache().cleanupCachesDirectories(); + + cctx.database().cleanupCheckpointDirectory(); + + if (cctx.wal() != null) + cctx.wal().cleanupWalDirectories(); + } + cctx.activate(); LocalJoinCachesContext locJoinCtx = exchActions == null ? null : exchActions.localJoinContext(); @@ -823,6 +832,15 @@ public class GridDhtPartitionsExchangeFuture extends GridDhtTopologyFutureAdapte } /** + * @return {@code true} if local node is not in baseline and {@code false} otherwise. + */ + private boolean isLocalNodeNotInBaseline() { + BaselineTopology topology = cctx.discovery().discoCache().state().baselineTopology(); + + return topology!= null && !topology.consistentIds().contains(cctx.localNode().consistentId()); + } + + /** * @throws IgniteCheckedException If failed. */ private void initTopologies() throws IgniteCheckedException { http://git-wip-us.apache.org/repos/asf/ignite/blob/3f14d2b3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java index 2e1fcb4..24ab96b 100755 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java @@ -525,7 +525,7 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan if (!U.mkdirs(cpDir)) throw new IgniteCheckedException("Could not create directory for checkpoint metadata: " + cpDir); - cleanupCheckpointDirectory(); + cleanupTempCheckpointDirectory(); final FileLockHolder preLocked = kernalCtx.pdsFolderResolver() .resolveFolders() @@ -543,7 +543,7 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan /** * Cleanup checkpoint directory from all temporary files {@link #FILE_TMP_SUFFIX}. */ - private void cleanupCheckpointDirectory() throws IgniteCheckedException { + private void cleanupTempCheckpointDirectory() throws IgniteCheckedException { try { try (DirectoryStream<Path> files = Files.newDirectoryStream(cpDir.toPath(), new DirectoryStream.Filter<Path>() { @Override @@ -556,6 +556,21 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan } } catch (IOException e) { + throw new IgniteCheckedException("Failed to cleanup checkpoint directory from temporary files: " + cpDir, e); + } + } + + /** + * Cleanup checkpoint directory. + */ + public void cleanupCheckpointDirectory() throws IgniteCheckedException { + try { + try (DirectoryStream<Path> files = Files.newDirectoryStream(cpDir.toPath())) { + for (Path path : files) + Files.delete(path); + } + } + catch (IOException e) { throw new IgniteCheckedException("Failed to cleanup checkpoint directory: " + cpDir, e); } } http://git-wip-us.apache.org/repos/asf/ignite/blob/3f14d2b3/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 6f151b5..5cea1bd 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 @@ -736,6 +736,13 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap } /** + * No-op for non-persistent storage. + */ + public void cleanupCheckpointDirectory() throws IgniteCheckedException { + // No-op. + } + + /** * */ @Nullable public IgniteInternalFuture wakeupForCheckpoint(String reason) { http://git-wip-us.apache.org/repos/asf/ignite/blob/3f14d2b3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStoreManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStoreManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStoreManager.java index 90da4ec..1e9c32b 100755 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStoreManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStoreManager.java @@ -167,6 +167,29 @@ public class FilePageStoreManager extends GridCacheSharedManagerAdapter implemen } /** {@inheritDoc} */ + public void cleanupPersistentSpace(CacheConfiguration cacheConfiguration) throws IgniteCheckedException { + try { + File cacheWorkDir = cacheWorkDir(cacheConfiguration); + + if(!cacheWorkDir.exists()) + return; + + try (DirectoryStream<Path> files = Files.newDirectoryStream(cacheWorkDir.toPath(), + new DirectoryStream.Filter<Path>() { + @Override public boolean accept(Path entry) throws IOException { + return entry.toFile().getName().endsWith(FILE_SUFFIX); + } + })) { + for (Path path : files) + Files.delete(path); + } + } + catch (IOException e) { + throw new IgniteCheckedException("Failed to cleanup persistent directory: ", e); + } + } + + /** {@inheritDoc} */ @Override public void stop0(boolean cancel) { if (log.isDebugEnabled()) log.debug("Stopping page store manager."); http://git-wip-us.apache.org/repos/asf/ignite/blob/3f14d2b3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java index 42ae846..c5f3793 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java @@ -33,8 +33,10 @@ import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.MappedByteBuffer; import java.nio.channels.ClosedByInterruptException; +import java.nio.file.DirectoryStream; import java.nio.file.FileAlreadyExistsException; import java.nio.file.Files; +import java.nio.file.Path; import java.sql.Time; import java.util.ArrayList; import java.util.Arrays; @@ -1333,6 +1335,29 @@ public class FileWriteAheadLogManager extends GridCacheSharedManagerAdapter impl checkFiles(0, false, null, null); } + /** {@inheritDoc} */ + public void cleanupWalDirectories() throws IgniteCheckedException { + try { + try (DirectoryStream<Path> files = Files.newDirectoryStream(walWorkDir.toPath())) { + for (Path path : files) + Files.delete(path); + } + } + catch (IOException e) { + throw new IgniteCheckedException("Failed to cleanup wal work directory: " + walWorkDir, e); + } + + try { + try (DirectoryStream<Path> files = Files.newDirectoryStream(walArchiveDir.toPath())) { + for (Path path : files) + Files.delete(path); + } + } + catch (IOException e) { + throw new IgniteCheckedException("Failed to cleanup wal archive directory: " + walArchiveDir, e); + } + } + /** * Clears whole the file, fills with zeros for Default mode. * http://git-wip-us.apache.org/repos/asf/ignite/blob/3f14d2b3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FsyncModeFileWriteAheadLogManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FsyncModeFileWriteAheadLogManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FsyncModeFileWriteAheadLogManager.java index 9636a72..867f13f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FsyncModeFileWriteAheadLogManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FsyncModeFileWriteAheadLogManager.java @@ -28,8 +28,10 @@ import java.io.FileOutputStream; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.ByteOrder; +import java.nio.file.DirectoryStream; import java.nio.file.FileAlreadyExistsException; import java.nio.file.Files; +import java.nio.file.Path; import java.sql.Time; import java.util.ArrayList; import java.util.Arrays; @@ -895,6 +897,29 @@ public class FsyncModeFileWriteAheadLogManager extends GridCacheSharedManagerAda return ctx != null && !ctx.walEnabled(); } + /** {@inheritDoc} */ + @Override public void cleanupWalDirectories() throws IgniteCheckedException { + try { + try (DirectoryStream<Path> files = Files.newDirectoryStream(walWorkDir.toPath())) { + for (Path path : files) + Files.delete(path); + } + } + catch (IOException e) { + throw new IgniteCheckedException("Failed to cleanup wal work directory: " + walWorkDir, e); + } + + try { + try (DirectoryStream<Path> files = Files.newDirectoryStream(walArchiveDir.toPath())) { + for (Path path : files) + Files.delete(path); + } + } + catch (IOException e) { + throw new IgniteCheckedException("Failed to cleanup wal archive directory: " + walArchiveDir, e); + } + } + /** * Lists files in archive directory and returns the index of last archived file. * http://git-wip-us.apache.org/repos/asf/ignite/blob/3f14d2b3/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/baseline/IgniteAbsentEvictionNodeOutOfBaselineTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/baseline/IgniteAbsentEvictionNodeOutOfBaselineTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/baseline/IgniteAbsentEvictionNodeOutOfBaselineTest.java new file mode 100644 index 0000000..0c9fb63 --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/baseline/IgniteAbsentEvictionNodeOutOfBaselineTest.java @@ -0,0 +1,106 @@ +/* + * 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.baseline; + +import java.util.List; +import org.apache.ignite.Ignite; +import org.apache.ignite.IgniteCache; +import org.apache.ignite.configuration.DataRegionConfiguration; +import org.apache.ignite.configuration.DataStorageConfiguration; +import org.apache.ignite.configuration.IgniteConfiguration; +import org.apache.ignite.configuration.WALMode; +import org.apache.ignite.internal.IgniteEx; +import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLocalPartition; +import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; + +/** + * Test absenting eviction for joined node if it is out of baseline. + */ +public class IgniteAbsentEvictionNodeOutOfBaselineTest extends GridCommonAbstractTest { + /** */ + private static final String TEST_CACHE_NAME = "test"; + + /** {@inheritDoc} */ + @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { + IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); + + cfg.setDataStorageConfiguration(new DataStorageConfiguration() + .setWalSegmentSize(512 * 1024) + .setWalSegments(4) + .setDefaultDataRegionConfiguration( + new DataRegionConfiguration() + .setMaxSize(256 * 1024 * 1024) + .setPersistenceEnabled(true)) + .setWalMode(WALMode.LOG_ONLY)); + + return cfg; + } + + /** {@inheritDoc} */ + @Override protected void beforeTest() throws Exception { + stopAllGrids(); + + cleanPersistenceDir(); + } + + /** {@inheritDoc} */ + @Override protected void afterTest() throws Exception { + stopAllGrids(); + + cleanPersistenceDir(); + } + + /** {@inheritDoc} */ + @Override protected void afterTestsStopped() throws Exception { + stopAllGrids(); + + cleanPersistenceDir(); + } + + /** + * Removed partitions if node is out of baseline. + */ + public void testPartitionsRemovedIfJoiningNodeNotInBaseline() throws Exception { + //given: start 3 nodes with data + Ignite ignite0 = startGrids(3); + + ignite0.cluster().active(true); + + IgniteCache<Object, Object> cache = ignite0.getOrCreateCache(TEST_CACHE_NAME); + + for(int i = 0; i< 100; i++) + cache.put(i, i); + + //when: stop one node and reset baseline topology + stopGrid(2); + + resetBaselineTopology(); + + awaitPartitionMapExchange(); + + for(int i = 0; i< 200; i++) + cache.put(i, i); + + //then: after returning stopped node to grid its partitions should be removed + IgniteEx ignite2 = startGrid(2); + + List<GridDhtLocalPartition> partitions = ignite2.cachex(TEST_CACHE_NAME).context().topology().localPartitions(); + + assertTrue("Should be empty : " + partitions, partitions.isEmpty()); + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/3f14d2b3/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/NoOpPageStoreManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/NoOpPageStoreManager.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/NoOpPageStoreManager.java index be40c90..ba236af 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/NoOpPageStoreManager.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/NoOpPageStoreManager.java @@ -24,6 +24,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.atomic.AtomicInteger; import org.apache.ignite.IgniteCheckedException; +import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.internal.GridKernalContext; import org.apache.ignite.internal.pagemem.FullPageId; import org.apache.ignite.internal.pagemem.PageIdUtils; @@ -215,4 +216,9 @@ public class NoOpPageStoreManager implements IgnitePageStoreManager { @Override public long pagesAllocated(int grpId) { return 0; } + + /** {@inheritDoc} */ + @Override public void cleanupPersistentSpace(CacheConfiguration cacheConfiguration) throws IgniteCheckedException { + // No-op. + } } http://git-wip-us.apache.org/repos/asf/ignite/blob/3f14d2b3/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/NoOpWALManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/NoOpWALManager.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/NoOpWALManager.java index c95d1f4..0188445 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/NoOpWALManager.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/NoOpWALManager.java @@ -102,6 +102,11 @@ public class NoOpWALManager implements IgniteWriteAheadLogManager { } /** {@inheritDoc} */ + @Override public void cleanupWalDirectories() throws IgniteCheckedException { + // No-op. + } + + /** {@inheritDoc} */ @Override public void start(GridCacheSharedContext cctx) throws IgniteCheckedException { // No-op. } http://git-wip-us.apache.org/repos/asf/ignite/blob/3f14d2b3/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 95a9529..faa2333 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 @@ -30,6 +30,7 @@ import org.apache.ignite.internal.processors.cache.persistence.IgnitePdsPartitio import org.apache.ignite.internal.processors.cache.persistence.IgnitePdsRecoveryAfterFileCorruptionTest; import org.apache.ignite.internal.processors.cache.persistence.IgnitePersistentStoreDataStructuresTest; import org.apache.ignite.internal.processors.cache.persistence.LocalWalModeChangeDuringRebalancingSelfTest; +import org.apache.ignite.internal.processors.cache.persistence.baseline.IgniteAbsentEvictionNodeOutOfBaselineTest; import org.apache.ignite.internal.processors.cache.persistence.baseline.IgniteAllBaselineNodesOnlineFullApiSelfTest; import org.apache.ignite.internal.processors.cache.persistence.baseline.IgniteOfflineBaselineNodeFullApiSelfTest; import org.apache.ignite.internal.processors.cache.persistence.baseline.IgniteOnlineNodeOutOfBaselineFullApiSelfTest; @@ -76,6 +77,7 @@ public class IgnitePdsTestSuite2 extends TestSuite { suite.addTestSuite(IgniteAllBaselineNodesOnlineFullApiSelfTest.class); suite.addTestSuite(IgniteOfflineBaselineNodeFullApiSelfTest.class); suite.addTestSuite(IgniteOnlineNodeOutOfBaselineFullApiSelfTest.class); + suite.addTestSuite(IgniteAbsentEvictionNodeOutOfBaselineTest.class); suite.addTestSuite(FileDownloaderTest.class);
