[jboss-jira] [JBoss JIRA] (JGRP-1461) SEQUENCER leaks sequence numbers

Bela Ban (JIRA) jira-events at lists.jboss.org
Mon Jun 4 05:19:18 EDT 2012


    [ https://issues.jboss.org/browse/JGRP-1461?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12698331#comment-12698331 ] 

Bela Ban commented on JGRP-1461:
--------------------------------

Hmm, with respect to the same thread sending messages m1 and m2, m1 will always be delivered before m2 because the first send() goes down the stack and assign a seqno in UNICAST that's lower than the one for m2. However, if m1 is sent by thread t1 and m2 by t2, and both are concurrent, then it is undefined which message will be delivered first: the order depends on which messages reaches UNICAST first, but that's fine for concurrent messages.

I'll therefore remove the seqno_lock from SEQUENCER and just dish out monotonically increasing *unique* seqnos: say m1 gets #5 and m2 gets #6. If message #6 happens to reach UNICAST first, the forward to the coord means that we'll deliver message m2 *before* m1, but that's fine because the messages were sent concurrently, by different threads.

So, as seqnos are now not used to establish order (this is done by forwarding a message to the coord), but only to weed out duplicates, we might see m2 (#6) before m1 (#5). A bounded set at each receiver is used to weed out dupes.
                
> SEQUENCER leaks sequence numbers
> --------------------------------
>
>                 Key: JGRP-1461
>                 URL: https://issues.jboss.org/browse/JGRP-1461
>             Project: JGroups
>          Issue Type: Bug
>    Affects Versions: 3.0.9, 3.1
>            Reporter: David Hotham
>            Assignee: Bela Ban
>             Fix For: 3.0.10, 3.1
>
>
> As noted in JGRP-1458, it looks as though SEQUENCER always thinks that sequence numbers must start at zero.  But a member who joins a group after some messages have already been broadcast may never receive sequence number zero.  So, I think, his SeqnoTable will grow indefinitely.
> Note that this one's mostly through code reading.  I think I'm right; but I'm happy to be told otherwise!
> Pull request to follow shortly.

--
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

        


More information about the jboss-jira mailing list