[
https://issues.jboss.org/browse/JBCACHE-1621?page=com.atlassian.jira.plug...
]
Dennis Reed commented on JBCACHE-1621:
--------------------------------------
There are 3 use cases:
1. prepare finishes before rollback
2. rollback finishes before prepare
3. rollback runs during prepare/prepare runs during rollback
#1 is the original working use case.
Fixed #2 by keeping track of unmatched rollbacks and aborting the related prepare when it
is later processed
Fixed #3 by adding locking to block a rollback while a prepare on the same tranaction is
in progress.
(converting this use case to #1)
Also updated GlobalTransaction to be unique across restarts (so the fix for #2
wouldn't match and ignore the wrong prepare).
Transaction rollback processed before the prepare is ignored
------------------------------------------------------------
Key: JBCACHE-1621
URL:
https://issues.jboss.org/browse/JBCACHE-1621
Project: JBoss Cache
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Transactions
Reporter: Dennis Reed
Assignee: Dennis Reed
Attachments: JBCACHE-1621-test.zip
If a transaction rollback is processed before the prepare for that transaction, the
rollback is ignored.
This ordering can happen if the replication timeout is triggered due to other
transactions waiting on locks.
The result is that when the prepare is later processed, it holds onto locks until the
transaction times out.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira