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)

Reply via email to