Problem with clustered topics: NPE and The receiver Consumer
jeremystone Sep 10, 2007 4:47 AMWe have a two-node clustered JBoss AS (4.2.0GA) installation with JBoss Messaging 1.4.0.CR2. We have a topic (configured as Clustered) and a remote client with subscriptions to that topic using a number of selectors.
The PostOffice is also configured as Clustered.
The remote client sometimes receives the first few messages but then an exception (below) is reported on one of the cluster nodes and no more messages are received.
(Not verified this yet but) it is as if the client receives messages that reside on the cluster node that it is connected to, but as soon as messages get sent to the other node JBoss Messaging fails to pull the messages across to the first node in order to deliver them to the client.
Initial debugging shows that the NPE is because the msg parameter passed in to accept() has a null connectionId field.
Any ideas?
2007-09-06 16:19:16,103 315872 ERROR [org.jboss.messaging.core.impl.RoundRobinDistributor] (IncomingPacketHandler (channel=DefaultPartition-JMS):) The receiver ConsumerEndpoint[an3-i9xle96f-1-b7yge96f-vak8f5-4100a] is broken
java.lang.NullPointerException
at org.jboss.jms.server.endpoint.ServerConsumerEndpoint.accept(ServerConsumerEndpoint.java:304)
at org.jboss.jms.server.endpoint.ServerConsumerEndpoint.handle(ServerConsumerEndpoint.java:254)
at org.jboss.messaging.core.impl.RoundRobinDistributor.handle(RoundRobinDistributor.java:119)
at org.jboss.messaging.core.impl.MessagingQueue$DistributorWrapper.handle(MessagingQueue.java:587)
at org.jboss.messaging.core.impl.ClusterRoundRobinDistributor.handle(ClusterRoundRobinDistributor.java:79)
at org.jboss.messaging.core.impl.ChannelSupport.deliverInternal(ChannelSupport.java:476)
at org.jboss.messaging.core.impl.MessagingQueue.deliverInternal(MessagingQueue.java:511)
at org.jboss.messaging.core.impl.ChannelSupport.handleInternal(ChannelSupport.java:628)
at org.jboss.messaging.core.impl.ChannelSupport.handle(ChannelSupport.java:144)
at org.jboss.messaging.core.impl.postoffice.MessagingPostOffice.routeInternal(MessagingPostOffice.java:2122)
at org.jboss.messaging.core.impl.postoffice.MessagingPostOffice.routeFromCluster(MessagingPostOffice.java:1175)
at org.jboss.messaging.core.impl.postoffice.MessageRequest.execute(MessageRequest.java:67)
at org.jboss.messaging.core.impl.postoffice.GroupMember$DataReceiver.receive(GroupMember.java:582)
at org.jgroups.JChannel.up(JChannel.java:1102)
at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:382)
at org.jgroups.stack.ProtocolStack.receiveUpEvent(ProtocolStack.java:398)
at org.jgroups.stack.Protocol.passUp(Protocol.java:520)
at org.jgroups.protocols.FRAG2.up(FRAG2.java:197)
at org.jgroups.stack.Protocol.receiveUpEvent(Protocol.java:470)
at org.jgroups.stack.Protocol.passUp(Protocol.java:520)
at org.jgroups.protocols.FC.up(FC.java:422)
at org.jgroups.stack.Protocol.receiveUpEvent(Protocol.java:470)
at org.jgroups.stack.Protocol.passUp(Protocol.java:520)
at org.jgroups.protocols.pbcast.GMS.up(GMS.java:768)
at org.jgroups.stack.Protocol.receiveUpEvent(Protocol.java:470)
at org.jgroups.protocols.pbcast.GMS.receiveUpEvent(GMS.java:788)
at org.jgroups.stack.Protocol.passUp(Protocol.java:520)
at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:258)
at org.jgroups.stack.Protocol.receiveUpEvent(Protocol.java:470)
at org.jgroups.stack.Protocol.passUp(Protocol.java:520)
at org.jgroups.protocols.UNICAST.up(UNICAST.java:259)
at org.jgroups.stack.Protocol.receiveUpEvent(Protocol.java:470)
at org.jgroups.stack.Protocol.passUp(Protocol.java:520)
at org.jgroups.protocols.pbcast.NAKACK.handleMessage(NAKACK.java:685)
at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:517)
at org.jgroups.stack.Protocol.receiveUpEvent(Protocol.java:470)
at org.jgroups.stack.Protocol.passUp(Protocol.java:520)
at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:170)
at org.jgroups.stack.Protocol.receiveUpEvent(Protocol.java:470)
at org.jgroups.stack.Protocol.passUp(Protocol.java:520)
at org.jgroups.protocols.FD.up(FD.java:300)
at org.jgroups.stack.Protocol.receiveUpEvent(Protocol.java:470)
at org.jgroups.stack.Protocol.passUp(Protocol.java:520)
at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:301)
at org.jgroups.stack.Protocol.receiveUpEvent(Protocol.java:470)
at org.jgroups.stack.Protocol.passUp(Protocol.java:520)
at org.jgroups.protocols.MERGE2.up(MERGE2.java:162)
at org.jgroups.stack.Protocol.receiveUpEvent(Protocol.java:470)
at org.jgroups.stack.Protocol.passUp(Protocol.java:520)
at org.jgroups.protocols.Discovery.up(Discovery.java:225)
at org.jgroups.stack.Protocol.receiveUpEvent(Protocol.java:470)
at org.jgroups.stack.Protocol.passUp(Protocol.java:520)
at org.jgroups.protocols.TP.handleIncomingMessage(TP.java:908)
at org.jgroups.protocols.TP.handleIncomingPacket(TP.java:850)
at org.jgroups.protocols.TP.access$400(TP.java:45)
at org.jgroups.protocols.TP$IncomingPacketHandler.run(TP.java:1296)
at java.lang.Thread.run(Thread.java:595)