You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Torsten Mielke (JIRA)" <ji...@apache.org> on 2015/03/17 13:29:38 UTC

[jira] [Created] (AMQ-5668) NPE in kahadb with concurrentStoreAndDispatchTopics when sending MQTT msgs with different QoS

Torsten Mielke created AMQ-5668:
-----------------------------------

             Summary: NPE in kahadb with concurrentStoreAndDispatchTopics when sending MQTT msgs with different QoS
                 Key: AMQ-5668
                 URL: https://issues.apache.org/jira/browse/AMQ-5668
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker, KahaDB, MQTT
    Affects Versions: 5.11.1
         Environment: MQTT, KahaDB
            Reporter: Torsten Mielke


Running KahaDB with concurrentStoreAndDispatchTopics="true" and sending 3 MQTT messages using different QoS values raises 

{code}
2015-03-17 13:27:48,866 WARN ActiveMQ NIO Worker 2 - Failed to send MQTT Publish:
java.lang.NullPointerException
	at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.setLastCachedId(AbstractStoreCursor.java:319)
	at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.trackLastCached(AbstractStoreCursor.java:280)
	at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.addMessageLast(AbstractStoreCursor.java:213)
	at org.apache.activemq.broker.region.cursors.TopicStorePrefetch.addMessageLast(TopicStorePrefetch.java:74)
	at org.apache.activemq.broker.region.cursors.StoreDurableSubscriberCursor.addMessageLast(StoreDurableSubscriberCursor.java:198)
	at org.apache.activemq.broker.region.PrefetchSubscription.add(PrefetchSubscription.java:159)
	at org.apache.activemq.broker.region.DurableTopicSubscription.add(DurableTopicSubscription.java:274)
	at org.apache.activemq.broker.region.policy.SimpleDispatchPolicy.dispatch(SimpleDispatchPolicy.java:48)
	at org.apache.activemq.broker.region.Topic.dispatch(Topic.java:717)
	at org.apache.activemq.broker.region.Topic.doMessageSend(Topic.java:510)
	at org.apache.activemq.broker.region.Topic.send(Topic.java:441)
	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:297)
	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:307)
	at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:157)
	at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:541)
	at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:768)
	at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:334)
	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:188)
	at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:45)
	at org.apache.activemq.transport.mqtt.MQTTInactivityMonitor.onCommand(MQTTInactivityMonitor.java:147)
	at org.apache.activemq.transport.mqtt.MQTTTransportFilter.sendToActiveMQ(MQTTTransportFilter.java:106)
	at org.apache.activemq.transport.mqtt.MQTTProtocolConverter.sendToActiveMQ(MQTTProtocolConverter.java:173)
	at org.apache.activemq.transport.mqtt.MQTTProtocolConverter.onMQTTPublish(MQTTProtocolConverter.java:445)
	at org.apache.activemq.transport.mqtt.MQTTProtocolConverter.onMQTTCommand(MQTTProtocolConverter.java:210)
	at org.apache.activemq.transport.mqtt.MQTTTransportFilter.onCommand(MQTTTransportFilter.java:94)
	at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
	at org.apache.activemq.transport.mqtt.MQTTCodec$1.onFrame(MQTTCodec.java:54)
	at org.apache.activemq.transport.mqtt.MQTTCodec.processCommand(MQTTCodec.java:79)
	at org.apache.activemq.transport.mqtt.MQTTCodec.access$400(MQTTCodec.java:26)
	at org.apache.activemq.transport.mqtt.MQTTCodec$4.parse(MQTTCodec.java:194)
	at org.apache.activemq.transport.mqtt.MQTTCodec$3.parse(MQTTCodec.java:160)
	at org.apache.activemq.transport.mqtt.MQTTCodec$2.parse(MQTTCodec.java:123)
	at org.apache.activemq.transport.mqtt.MQTTCodec.parse(MQTTCodec.java:65)
	at org.apache.activemq.transport.mqtt.MQTTNIOTransport.serviceRead(MQTTNIOTransport.java:105)
	at org.apache.activemq.transport.mqtt.MQTTNIOTransport.access$000(MQTTNIOTransport.java:43)
	at org.apache.activemq.transport.mqtt.MQTTNIOTransport$1.onSelect(MQTTNIOTransport.java:66)
	at org.apache.activemq.transport.nio.SelectorSelection.onSelect(SelectorSelection.java:97)
	at org.apache.activemq.transport.nio.SelectorWorker$1.run(SelectorWorker.java:119)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)