[jboss-jira] [JBoss JIRA] (JGRP-1821) SEQUENCER2: new impl of total order protocol

Bela Ban (JIRA) issues at jboss.org
Wed Apr 2 10:37:13 EDT 2014


Bela Ban created JGRP-1821:
------------------------------

             Summary: SEQUENCER2: new impl of total order protocol
                 Key: JGRP-1821
                 URL: https://issues.jboss.org/browse/JGRP-1821
             Project: JGroups
          Issue Type: Feature Request
            Reporter: Bela Ban
            Assignee: Bela Ban
             Fix For: 3.5


When in {{SEQUENCER}} a member P wants to send a multicast message M, it unicasts it to the coordinator, who multicasts it on behalf of P.

The new impl {{SEQUENCER2}} is different:
* P asks the coord for a seqno
* The coord responds with a (monotonically increasing) seqno
* P multicasts M with that seqno
* Everyone uses one global {{Table}} to deliver messages and weed out duplicates

Advantages:
# A sender sends messages itself, so the sequencer doesn't need to do sending (and potential retransmissions)
# Compared to {{SEQUENCER}}, the data is only sent and marshalled once (better for large messages)
# A sender grabs entire ranges of seqnos, so this should be efficient

The edge case handling though requires some work, e.g.
* A member B crashes after having received a seqno (e.g. 4)
** The sequencer will give out 5 next, but since nobody received 4, all subsequent messages will get stuck, waiting for 4
* The sequencer (coord) dies or leaves
** The next-in-line probably needs to run some reconciliation protocol, asking all members for their highest received seqnos
** Messages like 4 would get marked as dummy, removed from table and dropped

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list