[ 
https://issues.apache.org/jira/browse/IGNITE-25740?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17985643#comment-17985643
 ] 

Kirill Tkalenko commented on IGNITE-25740:
------------------------------------------

Looks good.

> Broken hash index tree comparator
> ---------------------------------
>
>                 Key: IGNITE-25740
>                 URL: https://issues.apache.org/jira/browse/IGNITE-25740
>             Project: Ignite
>          Issue Type: Bug
>          Components: storage engines ai3
>            Reporter: Ivan Bessonov
>            Assignee: Ivan Bessonov
>            Priority: Major
>              Labels: ignite-3
>
> {noformat}
> java.util.concurrent.CompletionException: 
> org.apache.ignite.internal.storage.StorageException: IGN-CMN-65535 Error 
> while advancing the cursor TraceId:cccee958
>       at 
> java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
>       at 
> java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1113)
>       at 
> java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2237)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processRequest(PartitionReplicaListener.java:628)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processRequestInContext(PartitionReplicaListener.java:552)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$invoke$0(PartitionReplicaListener.java:539)
>       at 
> java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
>       at 
> java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2237)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.invoke(PartitionReplicaListener.java:539)
>       at 
> org.apache.ignite.internal.replicator.ReplicaImpl.processRequest(ReplicaImpl.java:124)
>       at 
> org.apache.ignite.internal.replicator.ReplicaManager.handleReplicaRequest(ReplicaManager.java:384)
>       at 
> org.apache.ignite.internal.replicator.ReplicaManager.lambda$onReplicaMessageReceived$0(ReplicaManager.java:315)
>       at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>       at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>       at java.base/java.lang.Thread.run(Thread.java:834)
> Caused by: org.apache.ignite.internal.storage.StorageException: IGN-CMN-65535 
> Error while advancing the cursor TraceId:cccee958
>       at 
> org.apache.ignite.internal.storage.pagememory.index.AbstractPageMemoryIndexStorage$ScanCursor.lambda$hasNext$0(AbstractPageMemoryIndexStorage.java:381)
>       at 
> org.apache.ignite.internal.storage.pagememory.index.AbstractPageMemoryIndexStorage.busy(AbstractPageMemoryIndexStorage.java:326)
>       at 
> org.apache.ignite.internal.storage.pagememory.index.AbstractPageMemoryIndexStorage.busyDataRead(AbstractPageMemoryIndexStorage.java:317)
>       at 
> org.apache.ignite.internal.storage.pagememory.index.AbstractPageMemoryIndexStorage$ScanCursor.hasNext(AbstractPageMemoryIndexStorage.java:377)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.continueResolvingByPk(PartitionReplicaListener.java:2026)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$resolveRowByPk$84(PartitionReplicaListener.java:2001)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.resolveRowByPk(PartitionReplicaListener.java:2015)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processSingleEntryAction(PartitionReplicaListener.java:3118)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processOperationRequest$6(PartitionReplicaListener.java:721)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.appendTxCommand(PartitionReplicaListener.java:2061)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequest(PartitionReplicaListener.java:716)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequestWithTxOperationManagementLogic(PartitionReplicaListener.java:3981)
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processRequest$2(PartitionReplicaListener.java:629)
>       at 
> java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
>       ... 13 more
> Caused by: org.apache.ignite.internal.pagememory.tree.CorruptedTreeException: 
> IGN-STORAGE-2 B+Tree is corrupted [groupId=20, pageIds=[563053032636565], 
> groupName=20, msg=Runtime failure on lookup next row: HashIndexRow 
> [rowId=RowId [partitionId=24, uuid=80000000-0000-0000-8000-000000000000], 
> super=HashIndexRowKey [indexColumnsHash=-424912485, 
> indexColumns=org.apache.ignite.internal.storage.pagememory.index.freelist.IndexColumns@c8c2fcd]]]
>  TraceId:cccee958
>       at 
> org.apache.ignite.internal.pagememory.tree.BplusTree.corruptedTreeException(BplusTree.java:6772)
>       at 
> org.apache.ignite.internal.pagememory.tree.BplusTree.findNext(BplusTree.java:1626)
>       at 
> org.apache.ignite.internal.storage.pagememory.index.AbstractPageMemoryIndexStorage$ScanCursor.peekBusy(AbstractPageMemoryIndexStorage.java:422)
>       at 
> org.apache.ignite.internal.storage.pagememory.index.AbstractPageMemoryIndexStorage$ScanCursor.advanceIfNeededBusy(AbstractPageMemoryIndexStorage.java:441)
>       at 
> org.apache.ignite.internal.storage.pagememory.index.AbstractPageMemoryIndexStorage$ScanCursor.lambda$hasNext$0(AbstractPageMemoryIndexStorage.java:379)
>       ... 26 more
> Caused by: java.lang.IllegalArgumentException: newLimit > capacity: (66 > 60)
>       at java.base/java.nio.Buffer.createLimitException(Buffer.java:372)
>       at java.base/java.nio.Buffer.limit(Buffer.java:346)
>       at java.base/java.nio.ByteBuffer.limit(ByteBuffer.java:1171)
>       at 
> org.apache.ignite.internal.storage.pagememory.index.hash.io.HashIndexTreeIo.compare(HashIndexTreeIo.java:188)
>       at 
> org.apache.ignite.internal.storage.pagememory.index.hash.HashIndexTree.compare(HashIndexTree.java:162)
>       at 
> org.apache.ignite.internal.storage.pagememory.index.hash.HashIndexTree.compare(HashIndexTree.java:32)
>       at 
> org.apache.ignite.internal.pagememory.tree.BplusTree.compare(BplusTree.java:5916)
>       at 
> org.apache.ignite.internal.pagememory.tree.BplusTree.findInsertionPoint(BplusTree.java:5820)
>       at 
> org.apache.ignite.internal.pagememory.tree.BplusTree$Search.run0(BplusTree.java:387)
>       at 
> org.apache.ignite.internal.pagememory.tree.BplusTree$GetPageHandler.run(BplusTree.java:6589)
>       at 
> org.apache.ignite.internal.pagememory.tree.BplusTree$Search.run(BplusTree.java:359)
>       at 
> org.apache.ignite.internal.pagememory.tree.BplusTree$GetPageHandler.run(BplusTree.java:6566)
>       at 
> org.apache.ignite.internal.pagememory.util.PageHandler.readPage(PageHandler.java:138)
>       at 
> org.apache.ignite.internal.pagememory.datastructure.DataStructure.read(DataStructure.java:361)
>       at 
> org.apache.ignite.internal.pagememory.tree.BplusTree.findDown(BplusTree.java:1744)
>       at 
> org.apache.ignite.internal.pagememory.tree.BplusTree.findDown(BplusTree.java:1753)
>       at 
> org.apache.ignite.internal.pagememory.tree.BplusTree.doFind(BplusTree.java:1670)
>       at 
> org.apache.ignite.internal.pagememory.tree.BplusTree.findNext(BplusTree.java:1618)
>       ... 29 more{noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to