Uploaded image for project: 'HornetQ'
  1. HornetQ
  2. HORNETQ-1489

HQ222116: unable to start broadcast group

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 2.4.7.Final
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      I am trying to setup a cluster of two nodes using two Widlfly 9 (Wildfly 9.0.0.Final) instances. On the first I want to start a live node and on the second a backup node. The configuration on the first node is:

      <hornetq-server>
           <persistence-enabled>true</persistence-enabled>
           <cluster-user>us3r</cluster-user>
           <cluster-password>p@ssw0rd</cluster-password>
           <backup>false</backup>
           <allow-failback>false</allow-failback>
           <failover-on-shutdown>true</failover-on-shutdown>
           <shared-store>false</shared-store>
           <journal-type>NIO</journal-type>
           <journal-min-files>2</journal-min-files>
           <check-for-live-server>true</check-for-live-server>
           <backup-group-name>group-1</backup-group-name>
      
           <connectors>
               <http-connector name="http-connector" socket-binding="http">
                   <param key="http-upgrade-endpoint" value="http-acceptor"/>
               </http-connector>
               <http-connector name="http-connector-throughput" socket-binding="http">
                   <param key="http-upgrade-endpoint" value="http-acceptor-throughput"/>
                   <param key="batch-delay" value="50"/>
               </http-connector>
               <in-vm-connector name="in-vm" server-id="0"/>
           </connectors>
      
           <acceptors>
               <http-acceptor http-listener="default" name="http-acceptor"/>
               <http-acceptor http-listener="default" name="http-acceptor-throughput">
                   <param key="batch-delay" value="50"/>
                   <param key="direct-deliver" value="false"/>
               </http-acceptor>
               <in-vm-acceptor name="in-vm" server-id="0"/>
           </acceptors>
      
           <broadcast-groups>
               <broadcast-group name="bg-group1">
                   <jgroups-stack>udp</jgroups-stack>
                   <jgroups-channel>hq-cluster</jgroups-channel>
                   <connector-ref>
                       http-connector
                   </connector-ref>
               </broadcast-group>
           </broadcast-groups>
      
           <discovery-groups>
               <discovery-group name="dg-group1">
                   <jgroups-stack>udp</jgroups-stack>
                   <jgroups-channel>hq-cluster</jgroups-channel>
               </discovery-group>
           </discovery-groups>
      
           <cluster-connections>
               <cluster-connection name="my-cluster">
                   <address>jms</address>
                   <connector-ref>http-connector</connector-ref>
                   <discovery-group-ref discovery-group-name="dg-group1"/>
               </cluster-connection>
           </cluster-connections>
      
           <grouping-handler name="my-grouping-handler">
               <type>LOCAL</type>
               <address>jms</address>
               <timeout>5000</timeout>
           </grouping-handler>
      
           <security-settings>
               <security-setting match="#">
                   <permission type="send" roles="guest"/>
                   <permission type="consume" roles="guest"/>
                   <permission type="createNonDurableQueue" roles="guest"/>
                   <permission type="deleteNonDurableQueue" roles="guest"/>
               </security-setting>
           </security-settings>
      
           <address-settings>
               <address-setting match="#">
                   <dead-letter-address>jms.queue.DLQ</dead-letter-address>
                   <expiry-address>jms.queue.ExpiryQueue</expiry-address>
                   <max-size-bytes>10485760</max-size-bytes>
                   <page-size-bytes>2097152</page-size-bytes>
                   <message-counter-history-day-limit>10</message-counter-history-day-limit>
                   <redistribution-delay>1000</redistribution-delay>
               </address-setting>
           </address-settings>
      
           <jms-connection-factories>
               <connection-factory name="InVmConnectionFactory">
                   <connectors>
                       <connector-ref connector-name="in-vm"/>
                   </connectors>
                   <entries>
                       <entry name="java:/ConnectionFactory"/>
                   </entries>
               </connection-factory>
               <connection-factory name="RemoteConnectionFactory">
                   <connectors>
                       <connector-ref connector-name="http-connector"/>
                   </connectors>
                   <entries>
                       <entry name="java:jboss/exported/jms/RemoteConnectionFactory"/>
                   </entries>
                   <ha>true</ha>
                   <block-on-acknowledge>true</block-on-acknowledge>
                   <reconnect-attempts>-1</reconnect-attempts>
               </connection-factory>
               <pooled-connection-factory name="hornetq-ra">
                   <transaction mode="xa"/>
                   <connectors>
                       <connector-ref connector-name="in-vm"/>
                   </connectors>
                   <entries>
                       <entry name="java:/JmsXA"/>
                       <entry name="java:jboss/DefaultJMSConnectionFactory"/>
                   </entries>
               </pooled-connection-factory>
           </jms-connection-factories>
      
           <jms-destinations>
               <jms-queue name="ExpiryQueue">
                   <entry name="java:/jms/queue/ExpiryQueue"/>
               </jms-queue>
               <jms-queue name="DLQ">
                   <entry name="java:/jms/queue/DLQ"/>
               </jms-queue>
           </jms-destinations>
       </hornetq-server>
      

      When trying to start the first node, the following error occurs:

      16:04:32,456 WARN  [org.hornetq.core.server] (ServerService Thread Pool -- 66) HQ222116: unable to start broadcast group bg-group1: java.lang.IllegalStateException: channel is closed
      	at org.jgroups.JChannel.checkClosed(JChannel.java:959)
      	at org.jgroups.JChannel._preConnect(JChannel.java:548)
      	at org.jgroups.JChannel.connect(JChannel.java:288)
      	at org.jgroups.JChannel.connect(JChannel.java:279)
      	at org.hornetq.api.core.JGroupsBroadcastGroupConfiguration$JGroupsBroadcastEndpoint$JChannelWrapper.connect(JGroupsBroadcastGroupConfiguration.java:331)
      	at org.hornetq.api.core.JGroupsBroadcastGroupConfiguration$JGroupsBroadcastEndpoint.internalOpen(JGroupsBroadcastGroupConfiguration.java:218)
      	at org.hornetq.api.core.JGroupsBroadcastGroupConfiguration$JGroupsBroadcastEndpoint.openBroadcaster(JGroupsBroadcastGroupConfiguration.java:186)
      	at org.hornetq.core.server.cluster.impl.BroadcastGroupImpl.start(BroadcastGroupImpl.java:107)
      	at org.hornetq.core.server.cluster.ClusterManager.start(ClusterManager.java:244)
      	at org.hornetq.core.server.impl.HornetQServerImpl.initialisePart2(HornetQServerImpl.java:1741)
      	at org.hornetq.core.server.impl.HornetQServerImpl.access$1400(HornetQServerImpl.java:172)
      	at org.hornetq.core.server.impl.HornetQServerImpl$SharedNothingLiveActivation.run(HornetQServerImpl.java:2736)
      	at org.hornetq.core.server.impl.HornetQServerImpl.start(HornetQServerImpl.java:452)
      	at org.hornetq.jms.server.impl.JMSServerManagerImpl.start(JMSServerManagerImpl.java:488)
      	at org.jboss.as.messaging.jms.JMSService.doStart(JMSService.java:170)
      	at org.jboss.as.messaging.jms.JMSService.access$000(JMSService.java:62)
      	at org.jboss.as.messaging.jms.JMSService$1.run(JMSService.java:96)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      	at org.jboss.threads.JBossThread.run(JBossThread.java:320)
      
      16:04:32,459 WARNING [org.jgroups.JChannel] (ServerService Thread Pool -- 66) %s: receiver already set
      16:04:32,460 WARN  [org.hornetq.core.server] (ServerService Thread Pool -- 66) HQ222117: unable to start cluster connection my-cluster: HornetQInternalErrorException[errorType=INTERNAL_ERROR message=HQ119004: Failed to initialise session factory]
      	at org.hornetq.core.client.impl.ServerLocatorImpl.initialise(ServerLocatorImpl.java:390)
      	at org.hornetq.core.client.impl.ServerLocatorImpl.start(ServerLocatorImpl.java:619)
      	at org.hornetq.core.server.cluster.impl.ClusterConnectionImpl.activate(ClusterConnectionImpl.java:648)
      	at org.hornetq.core.server.cluster.impl.ClusterConnectionImpl.start(ClusterConnectionImpl.java:385)
      	at org.hornetq.core.server.cluster.ClusterManager.start(ClusterManager.java:256)
      	at org.hornetq.core.server.impl.HornetQServerImpl.initialisePart2(HornetQServerImpl.java:1741)
      	at org.hornetq.core.server.impl.HornetQServerImpl.access$1400(HornetQServerImpl.java:172)
      	at org.hornetq.core.server.impl.HornetQServerImpl$SharedNothingLiveActivation.run(HornetQServerImpl.java:2736)
      	at org.hornetq.core.server.impl.HornetQServerImpl.start(HornetQServerImpl.java:452)
      	at org.hornetq.jms.server.impl.JMSServerManagerImpl.start(JMSServerManagerImpl.java:488)
      	at org.jboss.as.messaging.jms.JMSService.doStart(JMSService.java:170)
      	at org.jboss.as.messaging.jms.JMSService.access$000(JMSService.java:62)
      	at org.jboss.as.messaging.jms.JMSService$1.run(JMSService.java:96)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      	at org.jboss.threads.JBossThread.run(JBossThread.java:320)
      Caused by: java.lang.IllegalStateException: channel is closed
      	at org.jgroups.JChannel.checkClosed(JChannel.java:959)
      	at org.jgroups.JChannel._preConnect(JChannel.java:548)
      	at org.jgroups.JChannel.connect(JChannel.java:288)
      	at org.jgroups.JChannel.connect(JChannel.java:279)
      	at org.hornetq.api.core.JGroupsBroadcastGroupConfiguration$JGroupsBroadcastEndpoint$JChannelWrapper.connect(JGroupsBroadcastGroupConfiguration.java:331)
      	at org.hornetq.api.core.JGroupsBroadcastGroupConfiguration$JGroupsBroadcastEndpoint.internalOpen(JGroupsBroadcastGroupConfiguration.java:218)
      	at org.hornetq.api.core.JGroupsBroadcastGroupConfiguration$JGroupsBroadcastEndpoint.openClient(JGroupsBroadcastGroupConfiguration.java:177)
      	at org.hornetq.core.cluster.DiscoveryGroup.start(DiscoveryGroup.java:105)
      	at org.hornetq.core.client.impl.ServerLocatorImpl.initialise(ServerLocatorImpl.java:384)
      	... 18 more
      

      If I add a second node ( a backup node in the case of a symmetrical cluster setup between two Wildfly instances where each instance has one live and one backup HornetQ server, the startup works).

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                clebert.suconic Clebert Suconic
                Reporter:
                hardy.ferentschik Hardy Ferentschik
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: