[jboss-jira] [JBoss JIRA] (JGRP-1396) Merge NakReceiverWindow and Retransmitter

Bela Ban (Commented) (JIRA) jira-events at lists.jboss.org
Tue Dec 20 11:53:10 EST 2011


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

Bela Ban commented on JGRP-1396:
--------------------------------

We could even have just *one* retransmitter for all members in a given member, e.g. if we're A, and have RingBuffers for A, B, C, D and E; instead of having one retransmitter for A, another one for B and so on, we just have *one* retransmitter for *all* A, B, C, D and E.

The retransmitter periodically scans all ring buffers for A,B,C,D,E and creates a retransmit message including all of the above members plus their bitmaps of missing messages (if there are any).

The retransmit request could then be broadcast (favoring a UDP based transport), and everyone could do the retransmission, not only the original sender...

Perhaps we could even ship the highest seqnos received with this data, and could therefore do (1) stability and (2) retransmission of last-messages lost.

Or, more conventionally, the retransmitter scans through all ring buffers for all members in turn and sends retransmission requests to the senders individually, as is currently the case. This means, we'll still only need 1 retransmitter (1 retransmission task only !), and the retransmitter itself is quite simple, and not located in the ring buffer, but in NAKACK (or UNICAST2) itself.

                
> Merge NakReceiverWindow and Retransmitter
> -----------------------------------------
>
>                 Key: JGRP-1396
>                 URL: https://issues.jboss.org/browse/JGRP-1396
>             Project: JGroups
>          Issue Type: Enhancement
>            Reporter: Bela Ban
>            Assignee: Bela Ban
>             Fix For: 3.1
>
>
> Both NakReceiverWindow and Retransmitter use their own data structures to keep a list of messages received (NRW) and seqnos to be retransmitted (Retrasmitter). This is redundant and costly memory-wise.
> I suggest let's merge the 2 classes, or at least let them share the data structure which keeps track of received messages.
> Suggestion II: create a ring buffer with a (changeable) capacity that keeps track of received messages and messages to be retransmitted.

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