You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ni...@apache.org on 2021/03/23 17:04:33 UTC

[ignite] 01/01: IGNITE-13581 Usage of built-in WalIterator filter

This is an automated email from the ASF dual-hosted git repository.

nizhikov pushed a commit to branch IGNITE-14353
in repository https://gitbox.apache.org/repos/asf/ignite.git

commit ce391b6ea06fd6f5e93ca3904f703850a50ac793
Author: Nikolay Izhikov <ni...@apache.org>
AuthorDate: Tue Mar 23 20:04:05 2021 +0300

    IGNITE-13581 Usage of built-in WalIterator filter
---
 .../src/main/java/org/apache/ignite/internal/cdc/IgniteCDC.java     | 4 +++-
 .../java/org/apache/ignite/internal/cdc/WALRecordsConsumer.java     | 6 +-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/modules/core/src/main/java/org/apache/ignite/internal/cdc/IgniteCDC.java b/modules/core/src/main/java/org/apache/ignite/internal/cdc/IgniteCDC.java
index af4d785..31b363f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/cdc/IgniteCDC.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/cdc/IgniteCDC.java
@@ -54,6 +54,7 @@ import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.lang.IgniteBiTuple;
 
 import static org.apache.ignite.configuration.DataStorageConfiguration.DFLT_CDC_PATH;
+import static org.apache.ignite.internal.pagemem.wal.record.WALRecord.RecordType.DATA_RECORD_V2;
 import static org.apache.ignite.internal.processors.cache.persistence.filename.PdsConsistentIdProcessor.NODE_PATTERN;
 import static org.apache.ignite.internal.processors.cache.persistence.filename.PdsConsistentIdProcessor.UUID_STR_PATTERN;
 import static org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager.WAL_NAME_PATTERN;
@@ -309,7 +310,8 @@ public class IgniteCDC implements Runnable {
             .binaryMetadataFileStoreDir(binaryMeta)
             .marshallerMappingFileStoreDir(marshaller)
             .keepBinary(keepBinary)
-            .filesOrDirs(segment.toFile());
+            .filesOrDirs(segment.toFile())
+            .addFilter((type, ptr) -> type == DATA_RECORD_V2);
 
         if (initState != null) {
             long segmentIdx = segmentIndex(segment);
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/cdc/WALRecordsConsumer.java b/modules/core/src/main/java/org/apache/ignite/internal/cdc/WALRecordsConsumer.java
index abe6b0a..f5e62df 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/cdc/WALRecordsConsumer.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/cdc/WALRecordsConsumer.java
@@ -34,7 +34,6 @@ import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
 import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.lang.IgnitePredicate;
 
-import static org.apache.ignite.internal.pagemem.wal.record.WALRecord.RecordType.DATA_RECORD_V2;
 import static org.apache.ignite.internal.processors.cache.GridCacheOperation.CREATE;
 import static org.apache.ignite.internal.processors.cache.GridCacheOperation.DELETE;
 import static org.apache.ignite.internal.processors.cache.GridCacheOperation.TRANSFORM;
@@ -56,9 +55,6 @@ public class WALRecordsConsumer<K, V> {
     /** Operations types we interested in. */
     private static final EnumSet<GridCacheOperation> OPS_TYPES = EnumSet.of(CREATE, UPDATE, DELETE, TRANSFORM);
 
-    /** WAL Records filter. */
-    private static final IgnitePredicate<WALRecord> DATA_REC_FILTER = r -> r.type() == DATA_RECORD_V2;
-
     /** Operations filter. */
     private static final IgnitePredicate<? super DataEntry> OPS_FILTER = e -> {
         if (!(e instanceof UnwrappedDataEntry))
@@ -129,7 +125,7 @@ public class WALRecordsConsumer<K, V> {
                 e.cacheId(),
                 e.expireTime()
             );
-        }, true, OPS_FILTER), true, DATA_REC_FILTER)));
+        }, true, OPS_FILTER), true)));
     }
 
     /**