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