[jboss-jira] [JBoss JIRA] Commented: (JGRP-659) Merge and UNICAST sequencing problem
Bela Ban (JIRA)
jira-events at lists.jboss.org
Wed Jan 14 04:18:04 EST 2009
[ https://jira.jboss.org/jira/browse/JGRP-659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12447710#action_12447710 ]
Bela Ban commented on JGRP-659:
-------------------------------
Possible solution:
#1: install connections for new members only on a view change
#2 trash connections for all members on a merge view
#3 Use logical addresses:
- A logical address consists of
- a user-given (or generated) name, e.g. "X". This name stays with the address from channel creation
to channel close
- a UUID. This is created on channel connect, deleted on channel disconnect and re-created on channel
connect. This is used for equals() and hashCode() of the logical address. Since it is re-created on
every connect(), it will prevent reincarnation issues. UUIDs are guaranteed to be unique over time for
a given host. This is better than using address:port, because port is not guaranteed to be unique over
time, especially when we use bind_port
> Merge and UNICAST sequencing problem
> ------------------------------------
>
> Key: JGRP-659
> URL: https://jira.jboss.org/jira/browse/JGRP-659
> Project: JGroups
> Issue Type: Bug
> Affects Versions: 2.4, 2.5, 2.6
> Reporter: Vladimir Blagojevic
> Assignee: Bela Ban
> Fix For: 2.8
>
> Attachments: ConcurrentMemberTest.java
>
>
> The problem is related to trashing of connection table in UNICAST during merge. Consider following scenario:
> There are 4 nodes in a cluster A,B,C, and D. After network split we have two islands A,B and C,D. When the network healing starts eventually MergeView gets installed in both islands. MergeView installation causes trashing of UNICAST connection table [1].
> However if we have a scenario where MergeView gets installed in A,B island at time T and it gets installed in island C,D at time T+N msec and a node from island A,B sends a unicast message in this N msec time window then we'll run into problems with unicast sequencing at C and D. Why? Because next message coming from island A,B into C,D will be will with sequence number > 1 and sequencing in UNICAST of C,D after connection trashing (from merge) expects starting sequence of 1. This causes UNICAST in C and/or D to wait forever for missing messages. Final outcome is thus that no more unicast message coming from A and/or B will ever be delivered at C and/or D!
> [1]http://jira.jboss.com/jira/browse/JGRP-348
--
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
More information about the jboss-jira
mailing list