-
Bug
-
Resolution: Done
-
Major
-
JBoss A-MQ 6.2.1
-
None
-
- JBoss A-MQ 5.11.0.redhat-621084
-
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)