Uploaded image for project: 'JGroups'
  1. JGroups
  2. JGRP-1099

NAKACK: don't send retransmission requests individually

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Done
    • Icon: Major Major
    • 2.8
    • None
    • None

      Currently, when we have messages 1,2 from P and receive 11, then we

      • Add message 11 to the NakReceiverWindow
      • This causes messages 3-10 to be added to the Retransmitter

      These messages are added individually, so we have 7 new tasks in the Retransmitter. This also means we send 7 retransmission requests rather than 1 !

      Because retransmission requests are sent as OOB messages, they won't get bundled (see [1]) ! Same for the retransmission responses (for OOB messages); they won't get bundled.

      Disadvantages:
      #1 We send 7 retransmission messages rather than 1. This could be mitigated if OOB messages were bundled though...
      #2 We have 7 rather than 1 additional tasks in the Retransmitter. This taxes the DelayQueue [2] used by the
      ScheduledThreadPoolExecutor used by the Retransmitter

      SOLUTION: go back to the old scheme of having tasks in the Retransmitter which have ranges of seqnos rather than individual seqnos. This is a bit trickier though than single seqnos, as a range of [3 - 10] needs to be broken into [3-5] and [7-10] if seqno 6 is received.

      [1] https://jira.jboss.org/jira/browse/JGRP-1090
      [2] https://jira.jboss.org/jira/browse/JGRP-1051

              rhn-engineering-bban Bela Ban
              rhn-engineering-bban Bela Ban
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: