[
https://jira.jboss.org/jira/browse/JGRP-1079?page=com.atlassian.jira.plug...
]
Bela Ban commented on JGRP-1079:
--------------------------------
SOLUTION: whenever an OOB message is passed up the stack, we set a transient flag
OOB_DELIVERED in the message (atomically, if not set !) and pass the message up if we were
able to set the flag, else discard it.
After that, we try to remove as many OOB messages from the NakReceiverWindow and pass
those messages up as well if the OOB_DELIVERED flag is not set.
Transient flags in a message are never marshalled or copied to a new message.
This change allowed us to remove the oob_loopback hashset
OOB messages are discarded when pool size is small and
rejection_policy = " discard"
------------------------------------------------------------------------------------
Key: JGRP-1079
URL:
https://jira.jboss.org/jira/browse/JGRP-1079
Project: JGroups
Issue Type: Bug
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 2.8
When we multicast OOB messages, and (1) the OOB pool has only 1 or 2 max threads, (2) no
queue and (3) a rejection_policy of "discard", then we can lose messages. The
messages are delivered (and retransmitted, if needed) correctly by NAKACK, but on the
receiver side, the extraction policy is incorrect.
The unit test is OOBTest.testOOBMessageLoss().
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira