Alexey Scherbakov created IGNITE-28365:
------------------------------------------

             Summary: Transaction failure reason is lost on timeout rollback
                 Key: IGNITE-28365
                 URL: https://issues.apache.org/jira/browse/IGNITE-28365
             Project: Ignite
          Issue Type: Bug
            Reporter: Alexey Scherbakov


The scenario:

Assume coordinator node A, primary partition replica node B
 # Tx1 is started on A and locks key K on node B. tx1 timeout=100000
 # Tx2 is started on A and requests locked K. tx2 timeout=1000
 # Tx2 is rolled back by timeout on node A
 # Cleanup request is send on node B
 # method lockManager.failAllWaiters is called during cleanup in 
awaitCleanupReadyFutures and fails the lock request for tx2, but the reason is 
lost, because transaction state on B doesn't know about timeout
 # User receives wrong exception (no mention about "finished due to timeout")

The fix is to propagate rollback reason in cleanup request.



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

Reply via email to