[jboss-jira] [JBoss JIRA] Commented: (JGRP-1079) OOB messages are discarded when pool size is small and rejection_policy = " discard"
Bela Ban (JIRA)
jira-events at lists.jboss.org
Fri Nov 13 10:31:05 EST 2009
[ https://jira.jboss.org/jira/browse/JGRP-1079?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12494487#action_12494487 ]
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
More information about the jboss-jira
mailing list