[
https://jira.jboss.org/jira/browse/JBCACHE-1530?page=com.atlassian.jira.p...
]
Brian Stansberry commented on JBCACHE-1530:
-------------------------------------------
I'm woking on the workaround in the description. It seems it's not possible to
distinguish these:
1) A result from the main tree
2) A result from a non :DEAD buddy backup tree
This is because the GravitateResult does not include info on where the gravitated data was
stored.
Not ideal, but not critical; the real problem is distinguishing :DEAD results from
others.
Stale copies of gravitated data left in "xxx:DEAD trees
-------------------------------------------------------
Key: JBCACHE-1530
URL:
https://jira.jboss.org/jira/browse/JBCACHE-1530
Project: JBoss Cache
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 3.2.0.BETA1
Reporter: Brian Stansberry
Assignee: Manik Surtani
Fix For: 3.2.0.GA
There's a race that can result in a stale copy of gravitated data being left in a
"/BUDDY_BACKUP/xxx:DEAD" tree:
Scenario:
1) Data is store in /B_B/xxx/foo
2) xxx is leaving group
3) Gravitate data command for /B_B/xxx/foo comes in, result is returned
4) Buddy group re-formation thread move /B_B/xxx/foo to /B_B/xxx:DEAD/1/foo
5) DataGravitationCleanupCommand comes in for /B_B/xxx/foo which results in nothing
happening since the node is moved
A fix might involve some analysis of the backup fqn in the DataGravitationCleanupCommand,
try to detect this condition. Or perhaps tracking successful GravitationResult responses,
trying to match against the cleanup command.
As a quick workaround I'm going to investigate an algorithm on the
GravitateDataCommand sender side to not just accept the first successful result but rather
to compare all positive results, giving preference to:
1) A result from the main tree
2) A result from a non :DEAD buddy backup tree
3) A result from xxx:DEAD/2
4) A result from xxx:DEAD/1
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira