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

Jeff Mesnil (JIRA) jira-events at lists.jboss.org
Wed Mar 12 12:01:02 EDT 2008


    [ http://jira.jboss.com/jira/browse/JBMESSAGING-1244?page=comments#action_12402491 ] 
            
Jeff Mesnil commented on JBMESSAGING-1244:
------------------------------------------

I'm confused on the issue (and i'm not familiar with this part of the code)

JBM GroupMember uses the MessagingPostOfficeService.groupName attribute to connect to the 2 channels.
In the Multiplexer case, the channels are created with ids based on MessagingPostOfficeService.channelPartitionName attribute.
However this attribute is not set in the configuration file provided by jbm (e.g. clustered-hsqldb-persistence-service.xml)

>From JBM point of view, the fix is to add a suffix (either -CTRL or -DATA) to the groupName when connecting the channels and use this groupName in the ChannelFactory.createMultiplexerChannel.
But from JBoss AS point of view, it'd mean to not rely on ChannelPartitionName but to use GroupName attribute instead.

Brian, can you shed some light on this?


> 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: Jeff Mesnil
>             Fix For: 1.4.1.beta2
>
>
> 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