-
Feature Request
-
Resolution: Done
-
Major
-
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
- is related to
-
JGRP-2566 Remove need for flow control, retransmission, fragmentation on selected transports
- Open