-
Bug
-
Resolution: Done
-
Blocker
-
None
-
None
- tx runs on N1, prepare a single-key tx (k1) on N2
- block commit execution on N2 and start N3 so that k1 node maps to N3
- the StaleTransactionCleanupService[1] removes the transaction from N2
- when commit is executed there's no tx on N2 to forward the commit to so it simply does nothing
- the TxCompletionNotification arrives on N3 and rollbacks the uncommitted data
- data is lost!
Solution: the StaleTransactionCleanupService should not run concurrently with the NBST but only after the NBST is finished. I.e. it should no longer be an topology listener, but should be invoked explicitly during the NBST-complete RPC.