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

Roman Puchkovskiy updated IGNITE-25384:
---------------------------------------
    Description: 
There seems to be a race between sending a partition Raft snapshot (in 
OutgoingSnapshot) and node stop:

 
[2025-05-15T08:56:37,617][ERROR][%izdrt_tdr_20001%outgoing-snapshots-3][FailureManager]
 Critical system error detected. Will be handled accordingly to configured 
handler [hnd=NoOpFailureHandler [super=AbstractFailureHandler 
[ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, 
SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=CRITICAL_ERROR]
org.apache.ignite.internal.failure.StackTraceCapturingException: Something went 
wrong while handling a request
at 
org.apache.ignite.internal.failure.FailureManager.process(FailureManager.java:161)
 ~[ignite-failure-handler-3.1.0-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.failure.FailureManager.process(FailureManager.java:138)
 ~[ignite-failure-handler-3.1.0-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.partition.replicator.raft.snapshot.outgoing.OutgoingSnapshotsManager.respond(OutgoingSnapshotsManager.java:206)
 ~[ignite-partition-replicator-3.1.0-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.partition.replicator.raft.snapshot.outgoing.OutgoingSnapshotsManager.lambda$handleMessage$2(OutgoingSnapshotsManager.java:185)
 ~[ignite-partition-replicator-3.1.0-SNAPSHOT.jar:?]
at 
java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
 [?:?]
at 
java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841)
 [?:?]
at 
java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482)
 [?:?]
at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
 [?:?]
at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
 [?:?]
at java.base/java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.util.concurrent.CompletionException: 
org.apache.ignite.internal.storage.StorageClosedException: IGN-CMN-65535 
TraceId:a2515b4b-c1a3-47c5-a48c-4bbd2ebc3bd0 Storage is already closed: 
[tableId=6, partitionId=0]
at 
java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770)
 ~[?:?]
... 3 more
Caused by: org.apache.ignite.internal.storage.StorageClosedException: Storage 
is already closed: [tableId=6, partitionId=0]
at 
org.apache.ignite.internal.storage.util.StorageUtils.throwExceptionDependingOnStorageState(StorageUtils.java:141)
 ~[ignite-storage-api-3.1.0-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.storage.util.StorageUtils.throwExceptionIfStorageNotInRunnableState(StorageUtils.java:63)
 ~[ignite-storage-api-3.1.0-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.storage.pagememory.mv.AbstractPageMemoryMvPartitionStorage.throwExceptionIfStorageNotInRunnableState(AbstractPageMemoryMvPartitionStorage.java:801)
 ~[ignite-storage-page-memory-3.1.0-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.storage.pagememory.mv.ScanVersionsCursor.lambda$hasNext$0(ScanVersionsCursor.java:67)
 ~[ignite-storage-page-memory-3.1.0-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.storage.pagememory.mv.AbstractPageMemoryMvPartitionStorage.busy(AbstractPageMemoryMvPartitionStorage.java:656)
 ~[ignite-storage-page-memory-3.1.0-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.storage.pagememory.mv.ScanVersionsCursor.hasNext(ScanVersionsCursor.java:66)
 ~[ignite-storage-page-memory-3.1.0-SNAPSHOT.jar:?]
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:132) ~[?:?]
at 
java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
 ~[?:?]
at 
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) 
~[?:?]
at 
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
 ~[?:?]
at 
java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
 ~[?:?]
at 
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) 
~[?:?]
at 
java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
 ~[?:?]
at 
org.apache.ignite.internal.table.distributed.raft.snapshot.PartitionMvStorageAccessImpl.lambda$getAllRowVersions$0(PartitionMvStorageAccessImpl.java:126)
 ~[ignite-table-3.1.0-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.storage.pagememory.mv.PersistentPageMemoryMvPartitionStorage.lambda$runConsistently$0(PersistentPageMemoryMvPartitionStorage.java:180)
 ~[ignite-storage-page-memory-3.1.0-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.storage.pagememory.mv.AbstractPageMemoryMvPartitionStorage.busy(AbstractPageMemoryMvPartitionStorage.java:656)
 ~[ignite-storage-page-memory-3.1.0-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.storage.pagememory.mv.PersistentPageMemoryMvPartitionStorage.runConsistently(PersistentPageMemoryMvPartitionStorage.java:170)
 ~[ignite-storage-page-memory-3.1.0-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.table.distributed.raft.snapshot.PartitionMvStorageAccessImpl.getAllRowVersions(PartitionMvStorageAccessImpl.java:122)
 ~[ignite-table-3.1.0-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.partition.replicator.raft.snapshot.outgoing.OutgoingSnapshot.rowEntry(OutgoingSnapshot.java:404)
 ~[ignite-partition-replicator-3.1.0-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.partition.replicator.raft.snapshot.outgoing.OutgoingSnapshot.tryProcessRowFromPartition(OutgoingSnapshot.java:385)
 ~[ignite-partition-replicator-3.1.0-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.partition.replicator.raft.snapshot.outgoing.OutgoingSnapshot.handleSnapshotMvDataRequest(OutgoingSnapshot.java:314)
 ~[ignite-partition-replicator-3.1.0-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.partition.replicator.raft.snapshot.outgoing.OutgoingSnapshotsManager.handleSnapshotRequestMessage(OutgoingSnapshotsManager.java:194)
 ~[ignite-partition-replicator-3.1.0-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.partition.replicator.raft.snapshot.outgoing.OutgoingSnapshotsManager.lambda$handleMessage$1(OutgoingSnapshotsManager.java:184)
 ~[ignite-partition-replicator-3.1.0-SNAPSHOT.jar:?]
at 
java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
 ~[?:?]
... 3 more

> StorageClosedException in Raft snapshot streaming
> -------------------------------------------------
>
>                 Key: IGNITE-25384
>                 URL: https://issues.apache.org/jira/browse/IGNITE-25384
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Roman Puchkovskiy
>            Priority: Major
>              Labels: ignite-3
>         Attachments: _Integration_Tests_Run_All_Other_36172.log.zip
>
>
> There seems to be a race between sending a partition Raft snapshot (in 
> OutgoingSnapshot) and node stop:
>  
> [2025-05-15T08:56:37,617][ERROR][%izdrt_tdr_20001%outgoing-snapshots-3][FailureManager]
>  Critical system error detected. Will be handled accordingly to configured 
> handler [hnd=NoOpFailureHandler [super=AbstractFailureHandler 
> [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, 
> SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=CRITICAL_ERROR]
> org.apache.ignite.internal.failure.StackTraceCapturingException: Something 
> went wrong while handling a request
> at 
> org.apache.ignite.internal.failure.FailureManager.process(FailureManager.java:161)
>  ~[ignite-failure-handler-3.1.0-SNAPSHOT.jar:?]
> at 
> org.apache.ignite.internal.failure.FailureManager.process(FailureManager.java:138)
>  ~[ignite-failure-handler-3.1.0-SNAPSHOT.jar:?]
> at 
> org.apache.ignite.internal.partition.replicator.raft.snapshot.outgoing.OutgoingSnapshotsManager.respond(OutgoingSnapshotsManager.java:206)
>  ~[ignite-partition-replicator-3.1.0-SNAPSHOT.jar:?]
> at 
> org.apache.ignite.internal.partition.replicator.raft.snapshot.outgoing.OutgoingSnapshotsManager.lambda$handleMessage$2(OutgoingSnapshotsManager.java:185)
>  ~[ignite-partition-replicator-3.1.0-SNAPSHOT.jar:?]
> at 
> java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
>  [?:?]
> at 
> java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841)
>  [?:?]
> at 
> java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482)
>  [?:?]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
>  [?:?]
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>  [?:?]
> at java.base/java.lang.Thread.run(Thread.java:833) [?:?]
> Caused by: java.util.concurrent.CompletionException: 
> org.apache.ignite.internal.storage.StorageClosedException: IGN-CMN-65535 
> TraceId:a2515b4b-c1a3-47c5-a48c-4bbd2ebc3bd0 Storage is already closed: 
> [tableId=6, partitionId=0]
> at 
> java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
>  ~[?:?]
> at 
> java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
>  ~[?:?]
> at 
> java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770)
>  ~[?:?]
> ... 3 more
> Caused by: org.apache.ignite.internal.storage.StorageClosedException: Storage 
> is already closed: [tableId=6, partitionId=0]
> at 
> org.apache.ignite.internal.storage.util.StorageUtils.throwExceptionDependingOnStorageState(StorageUtils.java:141)
>  ~[ignite-storage-api-3.1.0-SNAPSHOT.jar:?]
> at 
> org.apache.ignite.internal.storage.util.StorageUtils.throwExceptionIfStorageNotInRunnableState(StorageUtils.java:63)
>  ~[ignite-storage-api-3.1.0-SNAPSHOT.jar:?]
> at 
> org.apache.ignite.internal.storage.pagememory.mv.AbstractPageMemoryMvPartitionStorage.throwExceptionIfStorageNotInRunnableState(AbstractPageMemoryMvPartitionStorage.java:801)
>  ~[ignite-storage-page-memory-3.1.0-SNAPSHOT.jar:?]
> at 
> org.apache.ignite.internal.storage.pagememory.mv.ScanVersionsCursor.lambda$hasNext$0(ScanVersionsCursor.java:67)
>  ~[ignite-storage-page-memory-3.1.0-SNAPSHOT.jar:?]
> at 
> org.apache.ignite.internal.storage.pagememory.mv.AbstractPageMemoryMvPartitionStorage.busy(AbstractPageMemoryMvPartitionStorage.java:656)
>  ~[ignite-storage-page-memory-3.1.0-SNAPSHOT.jar:?]
> at 
> org.apache.ignite.internal.storage.pagememory.mv.ScanVersionsCursor.hasNext(ScanVersionsCursor.java:66)
>  ~[ignite-storage-page-memory-3.1.0-SNAPSHOT.jar:?]
> at java.base/java.util.Iterator.forEachRemaining(Iterator.java:132) ~[?:?]
> at 
> java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
>  ~[?:?]
> at 
> java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
>  ~[?:?]
> at 
> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
>  ~[?:?]
> at 
> java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
>  ~[?:?]
> at 
> java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
>  ~[?:?]
> at 
> java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
>  ~[?:?]
> at 
> org.apache.ignite.internal.table.distributed.raft.snapshot.PartitionMvStorageAccessImpl.lambda$getAllRowVersions$0(PartitionMvStorageAccessImpl.java:126)
>  ~[ignite-table-3.1.0-SNAPSHOT.jar:?]
> at 
> org.apache.ignite.internal.storage.pagememory.mv.PersistentPageMemoryMvPartitionStorage.lambda$runConsistently$0(PersistentPageMemoryMvPartitionStorage.java:180)
>  ~[ignite-storage-page-memory-3.1.0-SNAPSHOT.jar:?]
> at 
> org.apache.ignite.internal.storage.pagememory.mv.AbstractPageMemoryMvPartitionStorage.busy(AbstractPageMemoryMvPartitionStorage.java:656)
>  ~[ignite-storage-page-memory-3.1.0-SNAPSHOT.jar:?]
> at 
> org.apache.ignite.internal.storage.pagememory.mv.PersistentPageMemoryMvPartitionStorage.runConsistently(PersistentPageMemoryMvPartitionStorage.java:170)
>  ~[ignite-storage-page-memory-3.1.0-SNAPSHOT.jar:?]
> at 
> org.apache.ignite.internal.table.distributed.raft.snapshot.PartitionMvStorageAccessImpl.getAllRowVersions(PartitionMvStorageAccessImpl.java:122)
>  ~[ignite-table-3.1.0-SNAPSHOT.jar:?]
> at 
> org.apache.ignite.internal.partition.replicator.raft.snapshot.outgoing.OutgoingSnapshot.rowEntry(OutgoingSnapshot.java:404)
>  ~[ignite-partition-replicator-3.1.0-SNAPSHOT.jar:?]
> at 
> org.apache.ignite.internal.partition.replicator.raft.snapshot.outgoing.OutgoingSnapshot.tryProcessRowFromPartition(OutgoingSnapshot.java:385)
>  ~[ignite-partition-replicator-3.1.0-SNAPSHOT.jar:?]
> at 
> org.apache.ignite.internal.partition.replicator.raft.snapshot.outgoing.OutgoingSnapshot.handleSnapshotMvDataRequest(OutgoingSnapshot.java:314)
>  ~[ignite-partition-replicator-3.1.0-SNAPSHOT.jar:?]
> at 
> org.apache.ignite.internal.partition.replicator.raft.snapshot.outgoing.OutgoingSnapshotsManager.handleSnapshotRequestMessage(OutgoingSnapshotsManager.java:194)
>  ~[ignite-partition-replicator-3.1.0-SNAPSHOT.jar:?]
> at 
> org.apache.ignite.internal.partition.replicator.raft.snapshot.outgoing.OutgoingSnapshotsManager.lambda$handleMessage$1(OutgoingSnapshotsManager.java:184)
>  ~[ignite-partition-replicator-3.1.0-SNAPSHOT.jar:?]
> at 
> java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
>  ~[?:?]
> ... 3 more



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

Reply via email to