[
https://issues.apache.org/jira/browse/IGNITE-23815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17903600#comment-17903600
]
Sergey Korotkov commented on IGNITE-23815:
------------------------------------------
This behaviour (rotatedIdPart becomes > 127) may be reproduced in such case:
- cluster with 2+ nodes
- cache with backups > 1 and TouchedExpiryPolicy applied
- client does massive ScanQueries which cause massive concurrent updates and
recycling of memory pages (in PendingEntriesTree)
> AssertionError during WAL read on node restart
> ----------------------------------------------
>
> Key: IGNITE-23815
> URL: https://issues.apache.org/jira/browse/IGNITE-23815
> Project: Ignite
> Issue Type: Bug
> Reporter: Sergey Korotkov
> Assignee: Sergey Korotkov
> Priority: Major
> Labels: ise
> Time Spent: 40m
> Remaining Estimate: 0h
>
> The below exception is thrown on node restart during WAL reading.
> Looks like the overflow in the code:
> {code:java}
> public RotatedIdPartRecord(int grpId, long pageId, int rotatedIdPart) {
> super(grpId, pageId);
> assert rotatedIdPart >= 0 && rotatedIdPart <= 0xFF;
> this.rotatedIdPart = (byte)rotatedIdPart;
> }
> {code}
> {noformat}
> 2024-09-20 01:10:12.910
> [ERROR][main][org.apache.ignite.internal.IgniteKernal] Exception during start
> processors, node will be stopped and close connections
> java.lang.AssertionError: null
> at
> org.apache.ignite.internal.pagemem.wal.record.delta.RotatedIdPartRecord.<init>(RotatedIdPartRecord.java:40)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.internal.processors.cache.persistence.wal.serializer.RecordDataV1Serializer.readPlainRecord(RecordDataV1Serializer.java:1211)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.internal.processors.cache.persistence.wal.serializer.RecordDataV2Serializer.readPlainRecord(RecordDataV2Serializer.java:241)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.internal.processors.cache.persistence.wal.serializer.RecordDataV1Serializer.readRecord(RecordDataV1Serializer.java:223)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.internal.processors.cache.persistence.wal.serializer.RecordV2Serializer$1.readWithHeaders(RecordV2Serializer.java:175)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.internal.processors.cache.persistence.wal.serializer.RecordV1Serializer.readWithCrc(RecordV1Serializer.java:374)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.internal.processors.cache.persistence.wal.serializer.RecordV2Serializer.readRecord(RecordV2Serializer.java:249)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.internal.processors.cache.persistence.wal.AbstractWalRecordsIterator.advanceRecord(AbstractWalRecordsIterator.java:273)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.internal.processors.cache.persistence.wal.AbstractWalRecordsIterator.advance(AbstractWalRecordsIterator.java:176)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.internal.processors.cache.persistence.wal.AbstractWalRecordsIterator.onNext(AbstractWalRecordsIterator.java:135)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.internal.processors.cache.persistence.wal.AbstractWalRecordsIterator.onNext(AbstractWalRecordsIterator.java:52)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.internal.util.GridCloseableIteratorAdapter.nextX(GridCloseableIteratorAdapter.java:44)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$RestoreStateContext.next(GridCacheDatabaseSharedManager.java:3528)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$RestoreBinaryState.next(GridCacheDatabaseSharedManager.java:3672)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.performBinaryMemoryRestore(GridCacheDatabaseSharedManager.java:2199)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:868)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3197)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1113)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1757)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1679)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1121)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:1015)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:921)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:840)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:710)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:679)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at org.apache.ignite.Ignition.start(Ignition.java:353)
> ~[ignite-core-14.1.2.jar:14.1.2]
> at
> org.apache.ignite.startup.cmdline.CommandLineStartup.main(CommandLineStartup.java:365)
> ~[ignite-core-14.1.2.jar:14.1.2]
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)