[
https://issues.jboss.org/browse/JGRP-1484?page=com.atlassian.jira.plugin....
]
Bela Ban commented on JGRP-1484:
--------------------------------
Hi David,
I don't know. I'm very busy with EAP 6.0.1 related issues and RELAY2 (I'm
going to push all other issues into a 3.3 and probably release 3.2 soon).
I'll prioritize items when I get to 3.3. Your SEQUENCER related items I'll
probably look at first as they don't affect critical code, the other stuff that affect
critical code will take longer as I'll have to take a long and hard look (e.g.
synchronizing handleView() might have a bad effect wrt deadlocking).
As I said before, the changes to critical code have a high risk / low benefit (they fix no
known bugs), and as I'll need some time to make sure they're correct and don't
introduce new bugs, they're at the end of my priority list...
Cheers,
P.S.: I'm not going to discuss this any further via comments on JIRA, let's use
email for that (belaban at yahoo dot com).
SEQUENCER and merge-views broken
--------------------------------
Key: JGRP-1484
URL:
https://issues.jboss.org/browse/JGRP-1484
Project: JGroups
Issue Type: Bug
Affects Versions: 3.0.10
Reporter: David Hotham
Assignee: Bela Ban
Fix For: 3.2
Here's a new way in which putting SEQUENCER below GMS is broken.
Start with A having view B|4 [B,A], while B, C and D all have view B|7 [B,C,D].
Now we start a merge, in which B is coordinator. B creates the view C|8 [C, D, A, B].
(I've opened a pull request saying that B surely shouldn't issue a view where the
ViewID says that C was the creator. But I think that this is incidental, and not key to
the bug that I'm reporting here).
Now B sends INSTALL_MERGE_VIEW to B (a coordinator) and A (a merge participant, per
Util.determineMergeParticipants).
B gets this first and broadcasts the new view to [B, C, D]. In particular, B is now not
a coordinator.
Then A gets the INSTALL_MERGE_VIEW, and it too tries broadcasting the new view.
SEQUENCER gets involved, and forwards the broadcast to B (as the coordinator in the old
view). B discards this; it's no longer a coordinator.
So the new view is not installed at A. All future broadcasts from A are forwarded to B,
who discards them. The group is fractured, and none of A's broadcasts are delivered.
I'm not sure what the right fix would be. I wonder whether things should be arranged
so that in a merge:
- coordinators behave as today, broadcasting the new view to their own sub-groups
- but mere participants do not do this: they should just have the new view installed on
them.
--
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