[jboss-jira] [JBoss JIRA] Commented: (JBMESSAGING-1244) GroupMember passes null to Channel.connect()

Brian Stansberry (JIRA) jira-events at lists.jboss.org
Fri Feb 29 10:11:58 EST 2008


    [ http://jira.jboss.com/jira/browse/JBMESSAGING-1244?page=comments#action_12400950 ] 
            
Brian Stansberry commented on JBMESSAGING-1244:
-----------------------------------------------

Note that simply configuring a value for MessagingPostOfficeService won't fix the issue, since with a shared transport JChannel GroupMember will end up passing a single groupName to connect() for both the data and control channels.  This will fail with an ISE.  Values passed to connect need to be the ones passed as "id" to ChannelFactory.createMultiplexerChannel(String stack_name, String id, boolean register_for_state_transfer, String substate_id) -- different per channel.

> GroupMember passes null to Channel.connect()
> --------------------------------------------
>
>                 Key: JBMESSAGING-1244
>                 URL: http://jira.jboss.com/jira/browse/JBMESSAGING-1244
>             Project: JBoss Messaging
>          Issue Type: Bug
>          Components: Messaging Core
>    Affects Versions: 1.4.1.beta1
>            Reporter: Brian Stansberry
>         Assigned To: Tim Fox
>
> When GroupMember connects a JGroups Channel, it passes null to Channel.connect(String).  It needs to pass the same value that it passes as the "id" param to ChannelFactory.createMultiplexerChannel(String stack_name, String id, boolean register_for_state_transfer, String substate_id), i.e.
> ${jboss.partition.name:DefaultPartition}-JMS-CTRL and ${jboss.partition.name:DefaultPartition}-JMS-DATA
> Passing null has worked solely due to an internal quirk in JGroups' MuxChannel implementation of the Channel interface.  If JGroups internally provides a shared transport JChannel instead of a MuxChannel, it will fail:
> 2008-02-28 17:43:06,098 ERROR [org.jboss.messaging.util.ExceptionUtil] org.jboss.messaging.core.jmx.MessagingPostOfficeService at 1a0d916 startService
> org.jgroups.ChannelException: failed to start protocol stack
> 	at org.jgroups.JChannel.startStack(JChannel.java:1440)
> 	at org.jgroups.JChannel.connect(JChannel.java:362)
> 	at org.jboss.messaging.core.impl.postoffice.GroupMember.start(GroupMember.java:142)
> 	at org.jboss.messaging.core.impl.postoffice.MessagingPostOffice.start(MessagingPostOffice.java:347)
> 	at org.jboss.messaging.core.jmx.MessagingPostOfficeService.startService(MessagingPostOfficeService.java:427)
>         ....
> Caused by: java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java:157)
> 	at java.util.concurrent.ConcurrentHashMap.containsKey(ConcurrentHashMap.java:745)
> 	at java.util.concurrent.ConcurrentHashMap$KeySet.contains(ConcurrentHashMap.java:1215)
> 	at org.jgroups.stack.Configurator.startProtocolStack(Configurator.java:85)
> 	at org.jgroups.stack.ProtocolStack.startStack(ProtocolStack.java:341)
> 	at org.jgroups.JChannel.startStack(JChannel.java:1437)
> 	... 59 more

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list