[ 
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)

Reply via email to