4 Replies Latest reply on May 21, 2010 12:23 PM by artp

    Core Bridge doesn't reconnect when target server isn't available.

    artp

      I'm able to reproduce an issue with the core bridge when I start the source server of the bridge first then start the target servers of the core bridge. At first, it appears that the bridge connects from the source server but I am unable to send any messages to the target server. In JMX i can see the Forward source queues of the bridge no longer have a consumer, as if the bridge failed an doesn't try to reconnect. If i have the target servers of the bridge up first and the source servers next then everything works fine.

       

       

       

      My hornetq-configuration.xml for both target(OTS) and source server(WAS). I have three source nodes(WAS01,02,03) with the same configuration and two target servers(OTS01,02) with the same target configuration.

       

       

      We see this exception on the Target Server on startup when this issue occurs.

       

       

       

      (main) HornetQ Server version 2.0.0.GA (Hornet Queen, 113) started
      2010-05-20 17:49:53,962 WARN  [org.jboss.annotation.factory.AnnotationCreator] (main) No ClassLoader provided, using TCCL: org.jboss.managed.api.annotation.ManagementComponent
      2010-05-20 17:49:54,365 INFO  [org.hornetq.core.server.cluster.impl.BridgeImpl] (Thread-1 (group:HornetQ-server-threads499738433-295300014)) Bridge sf.ots-cluster.0 is connected to its destination
      2010-05-20 17:49:55,503 ERROR [org.hornetq.core.server.impl.ServerSessionImpl] (New I/O server worker #1-1) Failed to send message
      java.lang.NullPointerException
              at java.nio.ByteBuffer.wrap(ByteBuffer.java:373)
              at org.hornetq.core.postoffice.impl.BindingsImpl.routeFromCluster(BindingsImpl.java:464)
              at org.hornetq.core.postoffice.impl.BindingsImpl.route(BindingsImpl.java:243)
              at org.hornetq.core.postoffice.impl.PostOfficeImpl.route(PostOfficeImpl.java:631)
              at org.hornetq.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1995)
              at org.hornetq.core.server.impl.ServerSessionImpl.handleSend(ServerSessionImpl.java:1426)
              at org.hornetq.core.server.impl.ServerSessionPacketHandler.handlePacket(ServerSessionPacketHandler.java:275)
              at org.hornetq.core.remoting.impl.ChannelImpl.handlePacket(ChannelImpl.java:466)
              at org.hornetq.core.remoting.impl.RemotingConnectionImpl.doBufferReceived(RemotingConnectionImpl.java:423)
              at org.hornetq.core.remoting.impl.RemotingConnectionImpl.bufferReceived(RemotingConnectionImpl.java:389)
              at org.hornetq.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:432)
              at org.hornetq.integration.transports.netty.HornetQChannelHandler.messageReceived(HornetQChannelHandler.java:67)
              at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:98)
              at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)
              at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:796)
              at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:358)
              at org.hornetq.integration.transports.netty.HornetQFrameDecoder2.decode(HornetQFrameDecoder2.java:171)
              at org.hornetq.integration.transports.netty.HornetQFrameDecoder2.messageReceived(HornetQFrameDecoder2.java:136)
              at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
              at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)
              at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:555)
              at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:345)