[jboss-jira] [JBoss JIRA] Commented: (JGRP-1205) Retransmitter reset does not prevent new task addition after chanel close
Michael Newcomb (JIRA)
jira-events at lists.jboss.org
Fri Jun 11 12:47:38 EDT 2010
[ https://jira.jboss.org/browse/JGRP-1205?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12535190#action_12535190 ]
Michael Newcomb commented on JGRP-1205:
---------------------------------------
It is for NAKACK.
xmit_table is not synchronized, so a message can be sent/received while disconnecting. Back when Retransmitter had a stop() method, I added code to set a flag and reject any new messages after it was stopped() and sure enough messages were being added after it had been stopped. You can temporarily test this by putting a boolean in reset() so that after a reset, the Retransmitter rejects any messages added.
We saw this with 5 groups on one singleton transport when a member left the various groups. We have multiple threads using the same channel, so it is even possible that one thread tried to send a message while another thread was closing the channel.
> Retransmitter reset does not prevent new task addition after chanel close
> -------------------------------------------------------------------------
>
> Key: JGRP-1205
> URL: https://jira.jboss.org/browse/JGRP-1205
> Project: JGroups
> Issue Type: Bug
> Affects Versions: 2.6.15, 2.7, 2.8, 2.9
> Reporter: Vladimir Blagojevic
> Assignee: Bela Ban
> Fix For: 2.10
>
>
> Sometimes, messages are being added to the Retransmitter *after* a channel has been closed. This can happen if OOB messages are being passed around at the time a channel is leaving a group. The problem occurs in that messages are added after Retransmitter.reset(). Normally, the timer is also stopped when the channel is disconnected, but since the Timer is shared amongst all channels, any messages added to Retransmitter after reset() just continue to be requested because the timer that those tasks were scheduled on did not die.
> This can be solved by either specifically stopping the Retransmitter or giving each ProtocolAdapter their own Timer which is then shutdown on channel disconnect.
> Michael
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list