Denis Chudov created IGNITE-27702:
-------------------------------------
Summary: 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
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)