[ 
https://issues.apache.org/jira/browse/IGNITE-26988?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirill Tkalenko updated IGNITE-26988:
-------------------------------------
    Summary: Fix Negative position when trying to write meta page at checkpoint 
 (was: Fix exception (Negative position) when trying to write meta page at 
checkpoint)

> Fix Negative position when trying to write meta page at checkpoint
> ------------------------------------------------------------------
>
>                 Key: IGNITE-26988
>                 URL: https://issues.apache.org/jira/browse/IGNITE-26988
>             Project: Ignite
>          Issue Type: Bug
>          Components: storage engines ai3
>            Reporter: Kirill Tkalenko
>            Assignee: Kirill Tkalenko
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.2
>
>
> It was found that if a checkpoint occurs between the start of a rebalance and 
> the update of the last applied index and term, the partition meta page will 
> not be included in the dirty page list and will not be included in the delta 
> file pageIndexes, which will result in an error when trying to write it.
> {noformat}
> org.apache.ignite.internal.lang.IgniteInternalException: 
> java.lang.IllegalArgumentException: Negative position
>     at 
> org.apache.ignite.internal.pagememory.persistence.checkpoint.Checkpointer.body(Checkpointer.java:292)
>     at 
> org.apache.ignite.internal.util.worker.IgniteWorker.run(IgniteWorker.java:97)
>     at java.base/java.lang.Thread.run(Thread.java:829)
> Caused by: java.util.concurrent.CompletionException: 
> java.lang.IllegalArgumentException: Negative position
>     at 
> java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
>     at 
> java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346)
>     at 
> java.base/java.util.concurrent.CompletableFuture$BiRelay.tryFire(CompletableFuture.java:1423)
>     at 
> java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
>     at 
> java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2094)
>     at 
> org.apache.ignite.internal.pagememory.persistence.checkpoint.CheckpointPagesWriter.run(CheckpointPagesWriter.java:201)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>     ... 1 more
> Caused by: java.lang.IllegalArgumentException: Negative position
>     at 
> java.base/sun.nio.ch.SimpleAsynchronousFileChannelImpl.implWrite(SimpleAsynchronousFileChannelImpl.java:350)
>     at 
> java.base/sun.nio.ch.AsynchronousFileChannelImpl.write(AsynchronousFileChannelImpl.java:251)
>     at 
> org.apache.ignite.internal.fileio.AsyncFileIo.write(AsyncFileIo.java:121)
>     at 
> org.apache.ignite.internal.fileio.AbstractFileIo.lambda$writeFully$4(AbstractFileIo.java:58)
>     at 
> org.apache.ignite.internal.fileio.AbstractFileIo.fully(AbstractFileIo.java:107)
>     at 
> org.apache.ignite.internal.fileio.AbstractFileIo.writeFully(AbstractFileIo.java:58)
>     at 
> org.apache.ignite.internal.pagememory.persistence.store.AbstractFilePageStoreIo.write(AbstractFilePageStoreIo.java:190)
>     at 
> org.apache.ignite.internal.pagememory.persistence.checkpoint.CheckpointManager.writePageToFilePageStore(CheckpointManager.java:362)
>     at 
> org.apache.ignite.internal.pagememory.persistence.checkpoint.CheckpointPagesWriter.writePartitionMeta(CheckpointPagesWriter.java:439)
>     at 
> org.apache.ignite.internal.pagememory.persistence.checkpoint.CheckpointPagesWriter.writeDirtyPages(CheckpointPagesWriter.java:228)
>     at 
> org.apache.ignite.internal.pagememory.persistence.checkpoint.CheckpointPagesWriter.run(CheckpointPagesWriter.java:188)
>     ... 3 more
> {noformat}



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

Reply via email to