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

NAKACK2: disable retransmission

XMLWordPrintable

    • Icon: Feature Request Feature Request
    • Resolution: Done
    • Icon: Major Major
    • 5.2.13
    • None
    • None
    • False
    • None
    • False

      When run over TCP, NAKACK2 can do without retransmissions. Even over TCP, an xmit_interval that's set too low (e.g. 10ms) can lead to retransmission storms.

      Disabling retransmission does not disable ordering; messages are still added to a table and delivered in order.

      To disable retransmission, set xmit_interval to a value <= 0.

      This should also disable the resend_last_seqno task.

      Note: when retransmission is disabled, we need to make sure that the thread pool doesn't discard messages when full, ie. that the RejectionPolicy is CallerRuns. This should be done in init(). If the thread pool discarded messages, we would not be able to deliver messages as there are gaps in the retransmission table, but no retransmission is happening.

      Note: when a digest is received, and the digest's highest received seqno is higher than the local one, retransmission ensues. This needs to be disabled, too.

      For details see https://github.com/belaban/JGroups/blob/master/doc/design/NAKACK2_NoRetransmission.txt

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

                Created:
                Updated:
                Resolved: