[
https://issues.jboss.org/browse/ISPN-2137?page=com.atlassian.jira.plugin....
]
Mircea Markus updated ISPN-2137:
--------------------------------
Description:
Here's the sequence that might cause the leak:
- a tx locking K is prepared and committed on node A
- node B joins and becomes the primary owner of K
- tx and the lock on key is moved from A to B as part of the state transfer
- tx completion notification for tx is sent (async+oob) to A and not to B(old view)
- there's no way for A to reply to the the originator telling it to re-send the tx
completion notification to B as the call is async+oob
- this would cause the lock transaction to leak on B
Suggested solution:
After a chat with Dan, following fixed seemed to be the most appropriate:
when receiving a tx completion notification for a tx that's being migrated over as
result of state transfer forward it to the new lock owner. With current blocking ST, this
fwd call waits only after the tx state is transferred to the new owner. This would need
some more thought for the new NBST code.
Note: there's no issue in the case of nodes leaving the cluster, as the current logic
of backup nodes would assure a proper cleanup.
Labels: jdg6 (was: )
Potential tx lock leaks when nodes are added to the cluster
-----------------------------------------------------------
Key: ISPN-2137
URL:
https://issues.jboss.org/browse/ISPN-2137
Project: Infinispan
Issue Type: Bug
Components: State transfer, Transactions
Affects Versions: 5.1.5.FINAL
Reporter: Mircea Markus
Assignee: Mircea Markus
Labels: jdg6
Fix For: 5.1.x, 5.2.0.ALPHA2, 5.2.0.FINAL
Here's the sequence that might cause the leak:
- a tx locking K is prepared and committed on node A
- node B joins and becomes the primary owner of K
- tx and the lock on key is moved from A to B as part of the state transfer
- tx completion notification for tx is sent (async+oob) to A and not to B(old view)
- there's no way for A to reply to the the originator telling it to re-send the tx
completion notification to B as the call is async+oob
- this would cause the lock transaction to leak on B
Suggested solution:
After a chat with Dan, following fixed seemed to be the most appropriate:
when receiving a tx completion notification for a tx that's being migrated over as
result of state transfer forward it to the new lock owner. With current blocking ST, this
fwd call waits only after the tx state is transferred to the new owner. This would need
some more thought for the new NBST code.
Note: there's no issue in the case of nodes leaving the cluster, as the current logic
of backup nodes would assure a proper cleanup.
--
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