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

Jeff Mesnil (JIRA) jira-events at lists.jboss.org
Thu Mar 13 13:39:58 EDT 2008


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

brian, thanks for the explanation.

Regarding GroupName, it serves the same purpose than ChannelPartitionName when JBM does not use multiplexor channel.
It is confusing and these 2 properties should me merged (i'll open a JIRA task for that).

In the mean time, for JBM 1.4.1.beta2, the fix I propose is to use ChannelPartitionName as the prefix to connect to the channels if it is set (AS 5 case) or GroupName otherwise.

With that modification, the id will be based on  ChannelPartitionName  when multiplexor channel is used.
Otherwise, the id will be based on GroupName.

In both case, the same id will be used to create the channels and to connect to them.


> 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