[jboss-jira] [JBoss JIRA] Resolved: (JGRP-1088) TP: loopback=true does not discard multicast messages from self
Bela Ban (JIRA)
jira-events at lists.jboss.org
Tue Nov 3 10:04:05 EST 2009
[ https://jira.jboss.org/jira/browse/JGRP-1088?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bela Ban resolved JGRP-1088.
----------------------------
Resolution: Done
Loopback handling is now done in TP.passMessageUp(). This works for the regular and the shared transport
> TP: loopback=true does not discard multicast messages from self
> ---------------------------------------------------------------
>
> Key: JGRP-1088
> URL: https://jira.jboss.org/jira/browse/JGRP-1088
> Project: JGroups
> Issue Type: Bug
> Reporter: Bela Ban
> Assignee: Bela Ban
> Fix For: 2.8
>
>
> In TP.handleMyMessage(), we have this code:
> if(loopback && multicast && msg.isFlagSet(Message.LOOPBACK)) {
> return; // drop message that was already looped back and delivered
> }
> Because LOOPBACK is *never* set in Message, a multicast message sent by A will always (1) get looped back to A and (2) get received but *not* discarded to to the above code.
> The correct code should check whether the sender and receiver are identical, e.g.
> if(loopback && multicast) {
> if(!isSingleton()) {
> if(local_addr != null && local_addr.equals(msg.getSrc()))
> return; // drop message that was already looped back and delivered
> }
> }
> The added twist is that we need to handle the case where the shared transport doesn't have a local_addr. In this case, TP.ProtocolAdapter.up() needs to run the same check and discard the message if needed.
--
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