Binti, Locks are acquired on prepare phase, not on commit phase. In case of optimistic transaction both phases happen one after another in a single 'tx.commit()' call.
Prepare phase is not a problem, because it's easy to detect collisions and throw optimistic exception when all locks are not acquired yet. But on the commit phase you actually update the data, so, as was mentioned before, there is no reliable way to rollback. Basically, if you update one node, then throw exception on the second and release locks, you get inconsistent data. -Val -- View this message in context: http://apache-ignite-users.70518.x6.nabble.com/transaction-not-timing-out-tp5540p6579.html Sent from the Apache Ignite Users mailing list archive at Nabble.com.
