Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
Windows 7, Active MQ 5.6.0
Description
The method "protected void doAcknowledge(ConnectionContext context, String subscriptionKey, MessageId messageId, MessageAck ack)" in KahaDBStore, line 705, contains a get-operation on parameter "ack" in line 711:
command.setTransactionInfo(transactionIdTransformer.transform(ack.getTransactionId()));
Unfortunately, the method is called from inside with setting ack=null!
(same class, method "run" of internal class StoreTopicTask, line 1268):
this.topicStore.doAcknowledge(context, key, this.message.getMessageId(), null);
Thus, a null pointer exception is guaranteed, whenever the run-method is called (which is the case, for instance, when topic messages are synchronized in a network cluster).