Skip to content

Commit 369644c

Browse files
committed
IGNITE-21041 Make FilteredRecord local for RecordSerializer (#11082)
1 parent 5ab68b2 commit 369644c

4 files changed

Lines changed: 12 additions & 6 deletions

File tree

modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/FilteredRecord.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@
2424
* {@link AbstractWalRecordsIterator}.
2525
*/
2626
public class FilteredRecord extends WALRecord {
27-
/** Instance. */
28-
public static final FilteredRecord INSTANCE = new FilteredRecord();
29-
3027
/** {@inheritDoc} */
3128
@Override public RecordType type() {
3229
return null;

modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/StandaloneWalRecordsIterator.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@ class StandaloneWalRecordsIterator extends AbstractWalRecordsIterator {
9696
/** Replay from bound include. */
9797
private final WALPointer lowBound;
9898

99+
/** Singleton instance of {@link FilteredRecord} */
100+
private final WALRecord filteredRecord = new FilteredRecord();
101+
99102
/**
100103
* Creates iterator in file-by-file iteration mode. Directory
101104
*
@@ -286,7 +289,7 @@ private void init(List<FileDescriptor> walFiles) {
286289
return tup;
287290

288291
if (!checkBounds(tup.get1()))
289-
return new T2<>(tup.get1(), FilteredRecord.INSTANCE); // FilteredRecord for mark as filtered.
292+
return new T2<>(tup.get1(), filteredRecord); // FilteredRecord for mark as filtered.
290293

291294
return tup;
292295
}

modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/serializer/RecordV1Serializer.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@ public class RecordV1Serializer implements RecordSerializer {
9898
*/
9999
private final boolean marshalledMode;
100100

101+
/** Singleton instance of {@link FilteredRecord} */
102+
private final FilteredRecord filteredRecord = new FilteredRecord();
103+
101104
/** Thread-local heap byte buffer. */
102105
private final ThreadLocal<ByteBuffer> heapTlb = new ThreadLocal<ByteBuffer>() {
103106
@Override protected ByteBuffer initialValue() {
@@ -148,7 +151,7 @@ public class RecordV1Serializer implements RecordSerializer {
148151

149152
if (recType.purpose() != WALRecord.RecordPurpose.INTERNAL
150153
&& recordFilter != null && !recordFilter.apply(rec.type(), ptr))
151-
return FilteredRecord.INSTANCE;
154+
return filteredRecord;
152155
else if (marshalledMode) {
153156
ByteBuffer buf = heapTlb.get();
154157

modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/serializer/RecordV2Serializer.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,9 @@ public class RecordV2Serializer implements RecordSerializer {
7474
/** Skip position check flag. Should be set for reading compacted wal file with skipped physical records. */
7575
private final boolean skipPositionCheck;
7676

77+
/** Singleton instance of {@link FilteredRecord} */
78+
private final FilteredRecord filteredRecord = new FilteredRecord();
79+
7780
/** Thread-local heap byte buffer. */
7881
private final ThreadLocal<ByteBuffer> heapTlb =
7982
ThreadLocal.withInitial(() -> ByteBuffer.allocate(4096).order(GridUnsafe.NATIVE_BYTE_ORDER));
@@ -143,7 +146,7 @@ public class RecordV2Serializer implements RecordSerializer {
143146
if (in.skipBytes(toSkip) < toSkip)
144147
throw new EOFException("Reached end of file while reading record: " + ptr);
145148

146-
return FilteredRecord.INSTANCE;
149+
return filteredRecord;
147150
}
148151
else if (marshalledMode) {
149152
ByteBuffer buf = heapTlb.get();

0 commit comments

Comments
 (0)