[jboss-jira] [JBoss JIRA] Resolved: (JGRP-524) FLUSH and merge: flush doesn't wrap entire merge process
Vladimir Blagojevic (JIRA)
jira-events at lists.jboss.org
Tue Sep 18 16:32:11 EDT 2007
[ http://jira.jboss.com/jira/browse/JGRP-524?page=all ]
Vladimir Blagojevic resolved JGRP-524.
--------------------------------------
Resolution: Done
Commit set:
pbcast.GMS.java 1.119
pbcast.CoordGmsImpl.java 1.75
> FLUSH and merge: flush doesn't wrap entire merge process
> --------------------------------------------------------
>
> Key: JGRP-524
> URL: http://jira.jboss.com/jira/browse/JGRP-524
> Project: JGroups
> Issue Type: Bug
> Affects Versions: 2.5
> Reporter: Bela Ban
> Assigned To: Vladimir Blagojevic
> Fix For: 2.6
>
>
> When we do a merge, e.g. between {A,B} and {C,D,E}, flush is started when A and C install the new view {A,B,C,D,E} and stopped when the view have been installed successfully.
> However, flush should be started by A and C when they receive the request for merge information (view and digest in CoordGmsImpl.handleMergeRequest()) and stopped when the receive the merge view (or the merge is cancelled).
> The current issue is the following:
> - CoordGmsImpl for C returns a digest D1 for {C,D,E}, say C:10, D:14, E:5
> - Meanwhile both subgroups {A,B} and {C,D,E} continue sending messages, so their digests are potentially > D1, say C:12, D:14, E:7
> - When A and C merge the digests (NAKACK.mergeDigest()), A will keep its digest C:12, E:14, C:7, but C will set its digest for C,D,E to D1: C:10, D:14, E:5.
> - C will now receive (via retransmission) messages C:10-12, E:5-7
> Solution:
> - Start the flush in CoordGmsImpl.handleMergeRequest() and stop it when a merge view has been received or the merge was cancelled
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list