[jboss-jira] [JBoss JIRA] (JGRP-1332) MuxRpcDispatcher: use of topics disturbs invocations

Bela Ban (Commented) (JIRA) jira-events at lists.jboss.org
Wed Nov 16 09:47:41 EST 2011


    [ https://issues.jboss.org/browse/JGRP-1332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12643364#comment-12643364 ] 

Bela Ban commented on JGRP-1332:
--------------------------------

We don't support a scenario in MuxRpcDispatcher, where we don't have the same set of IDs on every node, e.g. A has 1,2,3, B has 1,4 and C has 2,4. All 3 nodes need to have 1,2,3.

MuxDispatcher was written for managing multiple services in JBoss AS, all running on the same channel. It is a descoped version of the old Multiplexer, and we don't support 'service views', which is having different services on different nodes.

If you want something like this, you have to write your own multiplexer...

                
> MuxRpcDispatcher: use of topics disturbs invocations
> ----------------------------------------------------
>
>                 Key: JGRP-1332
>                 URL: https://issues.jboss.org/browse/JGRP-1332
>             Project: JGroups
>          Issue Type: Bug
>    Affects Versions: 2.12.1
>            Reporter: Benoit Leblanc
>            Assignee: Bela Ban
>             Fix For: 3.1
>
>         Attachments: Launcher.java, RpcTopic-1ToTopic_2_NoMuxUpHandler.log, RpcTopic-1ToTopic_2_WithMuxUpHandler.log
>
>
> Scenario 1 : Let's A and B be 2 jgroups members connected to the same channels "rpc". Member A uses an
>  MuxRpcDispatcher with topic id 1 and Member B uses an MuxRpcDispatcher with different topic id, 2 for example. Channel configuration file is « udp.xml ».
> When Member A sends a multicast rpc call (mode = GET_ALL) with no filter (null), I observed that server object on member B was invoked although it doesn't have the same topic as caller from member A.
> To better observe invocations, I deployed the attached sample program (Launcher.java) on different machine (member A hosted by 192.168.46.36 and member B hosted by 192.168.46.38) and disable local invocation on channel ( channel.setOpt(Channel.LOCAL, false)). I also use a kind of jgroups sniffer (on host of member B) that logs members exchange. See enclosed file RpcTopic-1ToTopic_2_NoMuxUpHandler.log). Note that topic should be different, so you need to modify sample code before execution on member A or B.
> Scenario 2: roughly, the same as the previous one. Just set an UpHandler to the channel :
> channel.setUpHandler(new MuxUpHandler());
> I observed that:
> - Object server on member B wasn't invoked (expected behavior).
> - Member B didn't respond at all. May be it should send back an ack. See RpcTopic-1ToTopic_2_WithMuxUpHandler.log file.
> - The invoker (or caller) runs until the timeout kicks in. Or block for ever if timeout = 0. Execution shouldn't runs out "immediately" ?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the jboss-jira mailing list