-
Bug
-
Resolution: Done
-
Major
-
JBoss A-MQ 6.2.1
-
None
-
ER3
-
Customer is using SelectorAware VTs. They noticed lost messages and have tested it by doing the following:
Send 100 message to VirtualTopic
Validate 100 are pushed onto corresponding Queue
Restart broker - dont start consumer.
Send 100 message to VirtualTopic again
At this point, they see the below exception.
Once they re-attach the consumer, messages flow again.
Caused by: javax.jms.JMSException: java.lang.NullPointerException at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:54) at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1398) at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1324) at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1971) at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:288) at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:223) at org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:269) at org.apache.activemq.ActiveMQTopicPublisher.publish(ActiveMQTopicPublisher.java:146) ... Caused by: java.lang.NullPointerException at org.apache.activemq.broker.region.virtual.SelectorAwareVirtualTopicInterceptor.tryMatchingCachedSubs(SelectorAwareVirtualTopicInterceptor.java:79) at org.apache.activemq.broker.region.virtual.SelectorAwareVirtualTopicInterceptor.shouldDispatch(SelectorAwareVirtualTopicInterceptor.java:65) at org.apache.activemq.broker.region.virtual.VirtualTopicInterceptor.send(VirtualTopicInterceptor.java:114) at org.apache.activemq.broker.region.virtual.VirtualTopicInterceptor.send(VirtualTopicInterceptor.java:67) at org.apache.activemq.broker.region.DestinationFilter.send(DestinationFilter.java:132) at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:419) at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:468) at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:296) at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:152) at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96) at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:293) at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:152) at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:152) at org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:223) at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:152) at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:157) at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:546) at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:768) at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:338) at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:188) at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:300) at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) at org.apache.activemq.transport.tcp.SslTransport.doConsume(SslTransport.java:102) at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196) at java.lang.Thread.run(Thread.java:745)