You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2018/11/20 14:55:27 UTC

[44/50] [abbrv] ignite git commit: IGNITE-9999 Added verbose logging for node recovery - Fixes #5371

http://git-wip-us.apache.org/repos/asf/ignite/blob/b48a291e/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteLogicalRecoveryTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteLogicalRecoveryTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteLogicalRecoveryTest.java
index 425f9b9..93cc074 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteLogicalRecoveryTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteLogicalRecoveryTest.java
@@ -21,21 +21,24 @@ import java.io.File;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.nio.file.OpenOption;
+import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ThreadLocalRandom;
-import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
 import com.google.common.collect.Lists;
+import org.apache.ignite.Ignite;
 import org.apache.ignite.IgniteCache;
-import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.IgniteIllegalStateException;
 import org.apache.ignite.cache.CacheAtomicityMode;
 import org.apache.ignite.cache.CacheMode;
 import org.apache.ignite.cache.CacheWriteSynchronizationMode;
 import org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction;
+import org.apache.ignite.cache.query.annotations.QuerySqlField;
 import org.apache.ignite.configuration.CacheConfiguration;
 import org.apache.ignite.configuration.DataRegionConfiguration;
 import org.apache.ignite.configuration.DataStorageConfiguration;
@@ -45,12 +48,17 @@ import org.apache.ignite.failure.FailureHandler;
 import org.apache.ignite.failure.StopNodeFailureHandler;
 import org.apache.ignite.internal.IgniteEx;
 import org.apache.ignite.internal.IgniteInternalFuture;
+import org.apache.ignite.internal.TestRecordingCommunicationSpi;
+import org.apache.ignite.internal.processors.cache.GridCacheUtils;
+import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemandMessage;
 import org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager;
 import org.apache.ignite.internal.processors.cache.persistence.file.FileIO;
 import org.apache.ignite.internal.processors.cache.persistence.file.FileIODecorator;
 import org.apache.ignite.internal.processors.cache.persistence.file.FileIOFactory;
 import org.apache.ignite.internal.processors.cache.persistence.file.RandomAccessFileIOFactory;
-import org.apache.ignite.internal.processors.cache.persistence.wal.memtracker.PageMemoryTrackerConfiguration;
+import org.apache.ignite.internal.util.future.GridCompoundFuture;
+import org.apache.ignite.internal.util.typedef.G;
+import org.apache.ignite.internal.util.typedef.internal.CU;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.testframework.GridTestUtils;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
@@ -94,7 +102,6 @@ public class IgniteLogicalRecoveryTest extends GridCommonAbstractTest {
         );
 
         DataStorageConfiguration dsCfg = new DataStorageConfiguration()
-            .setAlwaysWriteFullPages(true)
             .setWalMode(WALMode.LOG_ONLY)
             .setCheckpointFrequency(1024 * 1024 * 1024) // Disable automatic checkpoints.
             .setDefaultDataRegionConfiguration(
@@ -110,7 +117,11 @@ public class IgniteLogicalRecoveryTest extends GridCommonAbstractTest {
         if (ioFactory != null)
             dsCfg.setFileIOFactory(ioFactory);
 
-        cfg.setPluginConfigurations(new PageMemoryTrackerConfiguration().setEnabled(false).setCheckPagesOnCheckpoint(true));
+        TestRecordingCommunicationSpi spi = new TestRecordingCommunicationSpi();
+
+        spi.record(GridDhtPartitionDemandMessage.class);
+
+        cfg.setCommunicationSpi(spi);
 
         return cfg;
     }
@@ -130,16 +141,16 @@ public class IgniteLogicalRecoveryTest extends GridCommonAbstractTest {
      * @param cacheMode Cache mode.
      * @param atomicityMode Atomicity mode.
      */
-    private CacheConfiguration<Object, Object> cacheConfiguration(String name, @Nullable String groupName, CacheMode cacheMode, CacheAtomicityMode atomicityMode) {
-        CacheConfiguration<Object, Object> cfg = new CacheConfiguration<>();
+    protected CacheConfiguration<Object, Object> cacheConfiguration(String name, @Nullable String groupName, CacheMode cacheMode, CacheAtomicityMode atomicityMode) {
+        CacheConfiguration<Object, Object> cfg = new CacheConfiguration<>(name)
+            .setGroupName(groupName)
+            .setCacheMode(cacheMode)
+            .setAtomicityMode(atomicityMode)
+            .setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC)
+            .setBackups(2)
+            .setAffinity(new RendezvousAffinityFunction(false, 32));
 
-        cfg.setGroupName(groupName);
-        cfg.setName(name);
-        cfg.setCacheMode(cacheMode);
-        cfg.setAtomicityMode(atomicityMode);
-        cfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC);
-        cfg.setBackups(2);
-        cfg.setAffinity(new RendezvousAffinityFunction(false, 32));
+        cfg.setIndexedTypes(Integer.class, Integer.class);
 
         return cfg;
     }
@@ -172,25 +183,23 @@ public class IgniteLogicalRecoveryTest extends GridCommonAbstractTest {
 
         IgniteEx node = grid(2);
 
-        AggregateCacheLoader aggCacheLoader = new AggregateCacheLoader(node);
-
-        aggCacheLoader.start();
+        AggregateCacheLoader cacheLoader = new AggregateCacheLoader(node);
 
-        U.sleep(3000);
+        cacheLoader.loadByTime(5_000).get();
 
         forceCheckpoint();
 
-        U.sleep(3000);
-
-        aggCacheLoader.stop();
+        cacheLoader.loadByTime(5_000).get();
 
         stopGrid(2, true);
 
-        startGrid(2);
+        node = startGrid(2);
 
         awaitPartitionMapExchange();
 
-        aggCacheLoader.consistencyCheck(grid(2));
+        cacheLoader.consistencyCheck(node);
+
+        checkNoRebalanceAfterRecovery();
     }
 
     /**
@@ -203,29 +212,27 @@ public class IgniteLogicalRecoveryTest extends GridCommonAbstractTest {
 
         IgniteEx node = grid(2);
 
-        AggregateCacheLoader aggCacheLoader = new AggregateCacheLoader(node);
-
-        aggCacheLoader.start();
+        AggregateCacheLoader cacheLoader = new AggregateCacheLoader(node);
 
-        U.sleep(3000);
+        cacheLoader.loadByTime(5_000).get();
 
         forceCheckpoint();
 
-        U.sleep(3000);
-
-        aggCacheLoader.stop();
+        cacheLoader.loadByTime(5_000).get();
 
         stopGrid(2, true);
 
         crd.cluster().active(false);
 
-        startGrid(2);
+        node = startGrid(2);
 
         crd.cluster().active(true);
 
         awaitPartitionMapExchange();
 
-        aggCacheLoader.consistencyCheck(grid(2));
+        checkNoRebalanceAfterRecovery();
+
+        cacheLoader.consistencyCheck(node);
     }
 
     /**
@@ -268,17 +275,13 @@ public class IgniteLogicalRecoveryTest extends GridCommonAbstractTest {
 
         node.getOrCreateCaches(dynamicCaches);
 
-        AggregateCacheLoader aggCacheLoader = new AggregateCacheLoader(node);
-
-        aggCacheLoader.start();
+        AggregateCacheLoader cacheLoader = new AggregateCacheLoader(node);
 
-        U.sleep(3000);
+        cacheLoader.loadByTime(5_000).get();
 
         forceCheckpoint();
 
-        U.sleep(3000);
-
-        aggCacheLoader.stop();
+        cacheLoader.loadByTime(5_000).get();
 
         stopGrid(2, true);
 
@@ -286,8 +289,10 @@ public class IgniteLogicalRecoveryTest extends GridCommonAbstractTest {
 
         awaitPartitionMapExchange();
 
+        checkNoRebalanceAfterRecovery();
+
         for (int idx = 0; idx < 3; idx++)
-            aggCacheLoader.consistencyCheck(grid(idx));
+            cacheLoader.consistencyCheck(grid(idx));
     }
 
     /**
@@ -300,17 +305,13 @@ public class IgniteLogicalRecoveryTest extends GridCommonAbstractTest {
 
         IgniteEx node = grid(2);
 
-        AggregateCacheLoader aggCacheLoader = new AggregateCacheLoader(node);
+        AggregateCacheLoader cacheLoader = new AggregateCacheLoader(node);
 
-        aggCacheLoader.start();
-
-        U.sleep(3000);
+        cacheLoader.loadByTime(5_000).get();
 
         forceCheckpoint();
 
-        U.sleep(3000);
-
-        aggCacheLoader.stop();
+        cacheLoader.loadByTime(5_000).get();
 
         stopGrid(2, true);
 
@@ -323,34 +324,26 @@ public class IgniteLogicalRecoveryTest extends GridCommonAbstractTest {
         awaitPartitionMapExchange();
 
         for (int idx = 0; idx < 3; idx++)
-            aggCacheLoader.consistencyCheck(grid(idx));
+            cacheLoader.consistencyCheck(grid(idx));
     }
 
     /**
      *
      */
     public void testRecoveryOnCrushDuringCheckpointOnNodeStart() throws Exception {
-        // Crash recovery fails because of the bug in pages recycling.
-        // Test passes if don't perform removes in cache loader.
-        fail("https://issues.apache.org/jira/browse/IGNITE-9303");
-
         IgniteEx crd = (IgniteEx) startGridsMultiThreaded(3, false);
 
         crd.cluster().active(true);
 
         IgniteEx node = grid(2);
 
-        AggregateCacheLoader aggCacheLoader = new AggregateCacheLoader(node);
-
-        aggCacheLoader.start();
+        AggregateCacheLoader cacheLoader = new AggregateCacheLoader(node);
 
-        U.sleep(3000);
+        cacheLoader.loadByTime(5_000).get();
 
         forceCheckpoint();
 
-        U.sleep(3000);
-
-        aggCacheLoader.stop();
+        cacheLoader.loadByTime(5_000).get();
 
         stopGrid(2, false);
 
@@ -363,6 +356,18 @@ public class IgniteLogicalRecoveryTest extends GridCommonAbstractTest {
         }
         catch (Exception expected) { }
 
+        // Wait until node will leave cluster.
+        GridTestUtils.waitForCondition(() -> {
+            try {
+                grid(2);
+            }
+            catch (IgniteIllegalStateException e) {
+                return true;
+            }
+
+            return false;
+        }, getTestTimeout());
+
         ioFactory = null;
 
         // Start node again and check recovery.
@@ -370,8 +375,10 @@ public class IgniteLogicalRecoveryTest extends GridCommonAbstractTest {
 
         awaitPartitionMapExchange();
 
+        checkNoRebalanceAfterRecovery();
+
         for (int idx = 0; idx < 3; idx++)
-            aggCacheLoader.consistencyCheck(grid(idx));
+            cacheLoader.consistencyCheck(grid(idx));
     }
 
     /** {@inheritDoc} */
@@ -381,7 +388,30 @@ public class IgniteLogicalRecoveryTest extends GridCommonAbstractTest {
 
     /** {@inheritDoc} */
     @Override protected long getTestTimeout() {
-        return 600 * 1000;
+        return 120 * 1000;
+    }
+
+    /**
+     * Method checks that there were no rebalance for all caches (excluding sys cache).
+     */
+    private void checkNoRebalanceAfterRecovery() {
+        int sysCacheGroupId = CU.cacheId(GridCacheUtils.UTILITY_CACHE_NAME);
+
+        List<Ignite> nodes = G.allGrids();
+
+        for (Ignite node : nodes) {
+            TestRecordingCommunicationSpi spi = TestRecordingCommunicationSpi.spi(node);
+
+            List<Integer> rebalancedGroups = spi.recordedMessages(true).stream()
+                .map(msg -> (GridDhtPartitionDemandMessage) msg)
+                .map(msg -> msg.groupId())
+                .filter(grpId -> grpId != sysCacheGroupId)
+                .distinct()
+                .collect(Collectors.toList());
+
+            Assert.assertTrue("There was unexpected rebalance for some groups" +
+                    " [node=" + node.name() + ", groups=" + rebalancedGroups + ']', rebalancedGroups.isEmpty());
+        }
     }
 
     /**
@@ -389,59 +419,50 @@ public class IgniteLogicalRecoveryTest extends GridCommonAbstractTest {
      */
     private static class AggregateCacheLoader {
         /** Ignite. */
-        IgniteEx ignite;
-
-        /** Stop flag. */
-        AtomicBoolean stopFlag;
+        final IgniteEx ignite;
 
         /** Cache loaders. */
-        Map<CacheLoader, IgniteInternalFuture> cacheLoaders;
+        final List<CacheLoader> cacheLoaders;
 
         /**
          * @param ignite Ignite.
          */
         public AggregateCacheLoader(IgniteEx ignite) {
             this.ignite = ignite;
+
+            List<CacheLoader> cacheLoaders = new ArrayList<>();
+
+            for (String cacheName : ignite.cacheNames())
+                cacheLoaders.add(new CacheLoader(ignite, cacheName));
+
+            this.cacheLoaders = cacheLoaders;
         }
 
         /**
-         *
+         * @param timeMillis Loading time in milliseconds.
          */
-        public void start() {
-            if (stopFlag != null && !stopFlag.get())
-                throw new IllegalStateException("Cache loaders must be stopped before start again");
-
-            stopFlag = new AtomicBoolean();
-            cacheLoaders = new HashMap<>();
+        public IgniteInternalFuture<?> loadByTime(int timeMillis) {
+            GridCompoundFuture<?, ?> loadFut = new GridCompoundFuture();
 
-            for (String cacheName : ignite.cacheNames()) {
-                CacheLoader loader = new CacheLoader(ignite, stopFlag, cacheName);
+            for (CacheLoader cacheLoader : cacheLoaders) {
+                long endTime = U.currentTimeMillis() + timeMillis;
 
-                IgniteInternalFuture loadFuture = GridTestUtils.runAsync(loader);
+                cacheLoader.stopPredicate = it -> U.currentTimeMillis() >= endTime;
 
-                cacheLoaders.put(loader, loadFuture);
+                loadFut.add(GridTestUtils.runAsync(cacheLoader));
             }
-        }
 
-        /**
-         *
-         */
-        public void stop() throws IgniteCheckedException {
-            if (stopFlag != null)
-                stopFlag.set(true);
+            loadFut.markInitialized();
 
-            if (cacheLoaders != null)
-                for (IgniteInternalFuture loadFuture : cacheLoaders.values())
-                    loadFuture.get();
+            return loadFut;
         }
 
         /**
-         * @param ignite Ignite.
+         * @param ignite Ignite node to check consistency from.
          */
         public void consistencyCheck(IgniteEx ignite) {
-            if (cacheLoaders != null)
-                for (CacheLoader cacheLoader : cacheLoaders.keySet())
-                    cacheLoader.consistencyCheck(ignite);
+            for (CacheLoader cacheLoader : cacheLoaders)
+                cacheLoader.consistencyCheck(ignite);
         }
     }
 
@@ -455,38 +476,38 @@ public class IgniteLogicalRecoveryTest extends GridCommonAbstractTest {
         /** Ignite. */
         final IgniteEx ignite;
 
-        /** Stop flag. */
-        final AtomicBoolean stopFlag;
+        /** Stop predicate. */
+        volatile Predicate<IgniteEx> stopPredicate;
 
         /** Cache name. */
         final String cacheName;
 
         /** Local cache. */
-        final Map<Object, Object> locCache = new ConcurrentHashMap<>();
+        final Map<Integer, TestValue> locCache = new ConcurrentHashMap<>();
 
         /**
          * @param ignite Ignite.
-         * @param stopFlag Stop flag.
          * @param cacheName Cache name.
          */
-        public CacheLoader(IgniteEx ignite, AtomicBoolean stopFlag, String cacheName) {
+        public CacheLoader(IgniteEx ignite, String cacheName) {
             this.ignite = ignite;
-            this.stopFlag = stopFlag;
             this.cacheName = cacheName;
         }
 
         /** {@inheritDoc} */
         @Override public void run() {
-            while (!stopFlag.get()) {
+            final Predicate<IgniteEx> predicate = stopPredicate;
+
+            while (!predicate.test(ignite)) {
                 ThreadLocalRandom rnd = ThreadLocalRandom.current();
 
                 int key = rnd.nextInt(KEYS_SPACE);
 
                 boolean remove = rnd.nextInt(100) <= 20;
 
-                IgniteCache<Object, Object> cache = ignite.getOrCreateCache(cacheName);
-
                 try {
+                    IgniteCache<Object, Object> cache = ignite.getOrCreateCache(cacheName);
+
                     if (remove) {
                         cache.remove(key);
 
@@ -496,10 +517,15 @@ public class IgniteLogicalRecoveryTest extends GridCommonAbstractTest {
                         int[] payload = new int[KEYS_SPACE];
                         Arrays.fill(payload, key);
 
-                        cache.put(key, payload);
+                        TestValue val = new TestValue(key, payload);
 
-                        locCache.put(key, payload);
+                        cache.put(key, val);
+
+                        locCache.put(key, val);
                     }
+
+                    // Throttle against GC.
+                    U.sleep(1);
                 }
                 catch (Exception ignored) { }
             }
@@ -509,14 +535,14 @@ public class IgniteLogicalRecoveryTest extends GridCommonAbstractTest {
          *
          */
         public void consistencyCheck(IgniteEx ignite) {
-            IgniteCache<Object, Object> cache = ignite.getOrCreateCache(cacheName);
+            IgniteCache<Integer, TestValue> cache = ignite.getOrCreateCache(cacheName);
 
             for (int key = 0; key < KEYS_SPACE; key++) {
-                int[] expectedValue = (int[]) locCache.get(key);
-                int[] actualValue = (int[]) cache.get(key);
+                TestValue expectedVal = locCache.get(key);
+                TestValue actualVal = cache.get(key);
 
                 Assert.assertEquals("Consistency check failed for: " + cache.getName() + ", key=" + key,
-                    arrayToString(expectedValue), arrayToString(actualValue));
+                    expectedVal, actualVal);
             }
         }
 
@@ -566,21 +592,45 @@ public class IgniteLogicalRecoveryTest extends GridCommonAbstractTest {
     }
 
     /**
-     * @param arr Array.
+     * Test payload with indexed field.
      */
-    static String arrayToString(int[] arr) {
-        if (arr == null)
-            return "null";
+    static class TestValue {
+        /** Indexed field. */
+        @QuerySqlField(index = true)
+        private final int indexedField;
 
-        StringBuilder sb = new StringBuilder();
+        /** Payload. */
+        private final int[] payload;
 
-        sb.append('[');
+        /**
+         * @param indexedField Indexed field.
+         * @param payload Payload.
+         */
+        public TestValue(int indexedField, int[] payload) {
+            this.indexedField = indexedField;
+            this.payload = payload;
+        }
+
+        /** {@inheritDoc} */
+        @Override public boolean equals(Object o) {
+            if (this == o)
+                return true;
+            if (o == null || getClass() != o.getClass())
+                return false;
+
+            TestValue testValue = (TestValue) o;
+
+            return indexedField == testValue.indexedField &&
+                Arrays.equals(payload, testValue.payload);
+        }
 
-        for (int i = 0; i < Math.min(arr.length, 10); i++)
-            sb.append(i).append(",");
+        /** {@inheritDoc} */
+        @Override public int hashCode() {
+            int result = Objects.hash(indexedField);
 
-        sb.append(']');
+            result = 31 * result + Arrays.hashCode(payload);
 
-        return sb.toString();
+            return result;
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/b48a291e/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/file/IgnitePdsDiskErrorsRecoveringTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/file/IgnitePdsDiskErrorsRecoveringTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/file/IgnitePdsDiskErrorsRecoveringTest.java
index 93c4047..7e17271 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/file/IgnitePdsDiskErrorsRecoveringTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/file/IgnitePdsDiskErrorsRecoveringTest.java
@@ -160,64 +160,6 @@ public class IgnitePdsDiskErrorsRecoveringTest extends GridCommonAbstractTest {
     }
 
     /**
-     * Test node stopping & recovering on start marker writing fail during activation.
-     *
-     * @throws Exception If test failed.
-     */
-    public void testRecoveringOnNodeStartMarkerWriteFail() throws Exception {
-        // Fail to write node start marker tmp file at the second checkpoint. Pass only initial checkpoint.
-        ioFactory = new FilteringFileIOFactory("started.bin" + FilePageStoreManager.TMP_SUFFIX, new LimitedSizeFileIOFactory(new RandomAccessFileIOFactory(), 20));
-
-        IgniteEx grid = startGrid(0);
-        grid.cluster().active(true);
-
-        for (int i = 0; i < 1000; i++) {
-            byte payload = (byte) i;
-            byte[] data = new byte[2048];
-            Arrays.fill(data, payload);
-
-            grid.cache(CACHE_NAME).put(i, data);
-        }
-
-        stopAllGrids();
-
-        boolean activationFailed = false;
-        try {
-            grid = startGrid(0);
-        }
-        catch (IgniteCheckedException e) {
-            boolean interrupted = Thread.interrupted();
-
-            if (interrupted)
-                log.warning("Ignore interrupted excpetion [" +
-                    "thread=" + Thread.currentThread().getName() + ']', e);
-
-            activationFailed = true;
-        }
-
-        Assert.assertTrue("Ignite instance startup must be failed", activationFailed);
-
-        // Grid should be automatically stopped after checkpoint fail.
-        awaitStop(grid);
-
-        // Grid should be successfully recovered after stopping.
-        ioFactory = null;
-
-        IgniteEx recoveredGrid = startGrid(0);
-        recoveredGrid.cluster().active(true);
-
-        for (int i = 0; i < 1000; i++) {
-            byte payload = (byte) i;
-            byte[] data = new byte[2048];
-            Arrays.fill(data, payload);
-
-            byte[] actualData = (byte[]) recoveredGrid.cache(CACHE_NAME).get(i);
-            Assert.assertArrayEquals(data, actualData);
-        }
-    }
-
-
-    /**
      * Test node stopping & recovering on checkpoint begin fail.
      *
      * @throws Exception If test failed.

http://git-wip-us.apache.org/repos/asf/ignite/blob/b48a291e/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteNodeStoppedDuringDisableWALTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteNodeStoppedDuringDisableWALTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteNodeStoppedDuringDisableWALTest.java
index 906f191..1a1d449 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteNodeStoppedDuringDisableWALTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteNodeStoppedDuringDisableWALTest.java
@@ -23,7 +23,6 @@ import java.nio.file.FileVisitResult;
 import java.nio.file.Path;
 import java.nio.file.SimpleFileVisitor;
 import java.nio.file.attribute.BasicFileAttributes;
-import java.util.HashMap;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.IgniteDataStreamer;
@@ -178,7 +177,7 @@ public class IgniteNodeStoppedDuringDisableWALTest extends GridCommonAbstractTes
         boolean fail = false;
 
         try (WALIterator it = sharedContext.wal().replay(null)) {
-            dbMgr.applyUpdatesOnRecovery(it, (tup) -> true, (entry) -> true, new HashMap<>());
+            dbMgr.applyUpdatesOnRecovery(it, (ptr, rec) -> true, (entry) -> true);
         }
         catch (IgniteCheckedException e) {
             if (nodeStopPoint.needCleanUp)

http://git-wip-us.apache.org/repos/asf/ignite/blob/b48a291e/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WalCompactionTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WalCompactionTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WalCompactionTest.java
index 3374860..5bf7e7f 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WalCompactionTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WalCompactionTest.java
@@ -387,13 +387,12 @@ public class WalCompactionTest extends GridCommonAbstractTest {
 
         File[] cpMarkers = cpMarkersDir.listFiles(new FilenameFilter() {
             @Override public boolean accept(File dir, String name) {
-                return !(
-                    name.equals(cpMarkersToSave[0].getName()) ||
-                    name.equals(cpMarkersToSave[1].getName()) ||
-                    name.equals(cpMarkersToSave[2].getName()) ||
-                    name.equals(cpMarkersToSave[3].getName()) ||
-                    name.equals(cpMarkersToSave[4].getName())
-                );
+                for (File cpMarker : cpMarkersToSave) {
+                    if (cpMarker.getName().equals(name))
+                        return false;
+                }
+
+                return true;
             }
         });