Distributed transactional cache: 1. A sends Prepare to B 2. B receives Prepare, but due to ongoing ST it is blocked 3. B replication timeout elapses 4. B sends Rollback, this does not find the TX as Prepare was not executed yet. The transaction is put into completedTransactions. 5. Completed transactions timeout elapses. This is by default 15 seconds, way shorter than ST timeout (due to which the Prepare was blocked) 6. Prepare is executed on B, acquiring lock on K Nobody will rollback the TX as originator thinks it was already rolled back. Result: key K will be locked forever, all attempts to update/remove it will fail.
Tom, could you please provide some reproducer for this?
This issue has no EAP 7.0 and 7.1 related JIRAs because in the time when it was merged into master, there were no 7.x branch. So no, they automatically contains this fix
Verified with EAP 6.4.13.CP.CR2
Released with EAP 6.4.13 on Feb 02 2017.