[
https://issues.apache.org/jira/browse/IGNITE-27702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Pligin reassigned IGNITE-27702:
----------------------------------------
Assignee: Anton Laletin
> Failed attempt to switch transaction state in persistent storage shouldn't
> trigger failure handler
> --------------------------------------------------------------------------------------------------
>
> Key: IGNITE-27702
> URL: https://issues.apache.org/jira/browse/IGNITE-27702
> Project: Ignite
> Issue Type: Bug
> Reporter: Denis Chudov
> Assignee: Anton Laletin
> Priority: Major
> Labels: ignite-3
>
> Stack trace:
> {code:java}
> 2026-01-27 02:30:38:502 +0000
> [ERROR][%cac-dpd-cde-gg-aks-dev-1%JRaft-FSMCaller-Disruptor_stripe_0-0][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,
> failureCtxId=9b6d5152-3816-465d-8e68-e95f29baa4b1]
> org.apache.ignite.internal.failure.StackTraceCapturingException:
> IGN-CMN-65535 Unknown error TraceId:af286bf9
> at
> org.apache.ignite.internal.failure.FailureManager.process(FailureManager.java:191)
> at
> org.apache.ignite.internal.failure.FailureManager.process(FailureManager.java:168)
> at
> org.apache.ignite.internal.raft.server.impl.JraftServerImpl$DelegatingStateMachine.onApply(JraftServerImpl.java:949)
> at
> org.apache.ignite.raft.jraft.core.FSMCallerImpl.doApplyTasks(FSMCallerImpl.java:574)
> at
> org.apache.ignite.raft.jraft.core.FSMCallerImpl.doCommitted(FSMCallerImpl.java:540)
> at
> org.apache.ignite.raft.jraft.core.FSMCallerImpl.runApplyTask(FSMCallerImpl.java:454)
> at
> org.apache.ignite.raft.jraft.core.FSMCallerImpl$ApplyTaskHandler.onEvent(FSMCallerImpl.java:123)
> at
> org.apache.ignite.raft.jraft.core.FSMCallerImpl$ApplyTaskHandler.onEvent(FSMCallerImpl.java:117)
> at
> org.apache.ignite.raft.jraft.disruptor.StripedDisruptor$StripeEntryHandler.onEvent(StripedDisruptor.java:322)
> at
> org.apache.ignite.raft.jraft.disruptor.StripedDisruptor$StripeEntryHandler.onEvent(StripedDisruptor.java:279)
> at
> com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:167)
> at
> com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:122)
> at java.base/java.lang.Thread.run(Unknown Source)
> Caused by:
> org.apache.ignite.internal.partition.replicator.raft.UnexpectedTransactionStateException:
> IGN-TX-3 Failed to update tx state in the storage, transaction txId =
> 019bfd48-d08d-005a-399b-326e00000001 because of inconsistent state, expected
> state = TxMeta [txState=COMMITTED, commitTimestamp=HybridTimestamp
> [physical=2026-01-27 02:29:38:018 +0000, logical=201,
> composite=115964705375387849]], state to set = TxMeta [txState=ABORTED,
> commitTimestamp=null] TraceId:af286bf9
> at
> org.apache.ignite.internal.partition.replicator.raft.handlers.FinishTxCommandHandler.onTxStateStorageCasFail(FinishTxCommandHandler.java:128)
> at
> org.apache.ignite.internal.partition.replicator.raft.handlers.FinishTxCommandHandler.handleInternally(FinishTxCommandHandler.java:101)
> at
> org.apache.ignite.internal.partition.replicator.raft.handlers.FinishTxCommandHandler.handleInternally(FinishTxCommandHandler.java:41)
> at
> org.apache.ignite.internal.partition.replicator.raft.handlers.AbstractCommandHandler.handle(AbstractCommandHandler.java:37)
> at
> org.apache.ignite.internal.partition.replicator.raft.ZonePartitionRaftListener.processWriteCommand(ZonePartitionRaftListener.java:220)
> at
> org.apache.ignite.internal.partition.replicator.raft.ZonePartitionRaftListener.lambda$onWrite$1(ZonePartitionRaftListener.java:154)
> at java.base/java.util.Iterator.forEachRemaining(Unknown Source)
> at
> org.apache.ignite.internal.partition.replicator.raft.ZonePartitionRaftListener.onWrite(ZonePartitionRaftListener.java:152)
> at
> org.apache.ignite.internal.raft.server.impl.JraftServerImpl$DelegatingStateMachine.onApply(JraftServerImpl.java:930)
> ... 10 more{code}
> This is legitimate scenario: for example, transaction recovery in parallel
> with commit.
> This shouldn't be considered as critical error, but actor who's attempt
> failed should get the proper notification about transaction outcome.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)