-
Task
-
Resolution: Done
-
Major
-
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