[ https://issues.apache.org/jira/browse/AMQ-5851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14602635#comment-14602635 ]
Gary Tully commented on AMQ-5851: --------------------------------- [~christopher.l.shannon] the changes look good - however I did a sanity check with some tests and the first one I tried - org.apache.activemq.JMSConsumerTest#testMessageListenerWithConsumerCanBeStoppedConcurently had a failure that seems related. Can you investigate and possibly validate with a full test run of the unit tests. > Unmatched acknowledge: MessageAck {commandId = 77, responseRequired = false, > ackType = 2, ...Could not find Message-ID XXX in dispatched-list (start of > ack) > ------------------------------------------------------------------------------------------------------------------------------------------------------------ > > Key: AMQ-5851 > URL: https://issues.apache.org/jira/browse/AMQ-5851 > Project: ActiveMQ > Issue Type: Bug > Components: JMS client > Affects Versions: 5.10.0, 5.11.0, 5.11.1 > Reporter: Grijesh Saini > Assignee: Gary Tully > Labels: ttl > Attachments: AcknowledgeIssue.zip > > > When lot of messages got expired because of JMS client Time to Live (TTL) > property then below error will appear and consumer will freeze > {code:xml} > Connection to broker failed: Unmatched acknowledge: MessageAck {commandId = > 77, responseRequired = false, ackType = 2, consumerId =XXX firstMessageId = > ID:XXX > lastMessageId = ID:XXX > , destination = queue://abc, transactionId = null, messageCount = 1, > poisonCause = null}; Could not find Message-ID in dispatched-list (start of > ack) > at > org.apache.activemq.broker.region.PrefetchSubscription.assertAckMatchesDispatched(PrefetchSubscription.java:477) > [activemq-broker-5.11.1.jar:5.11.1 > at > org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:212) > [activemq-broker-5.11.1.jar:5.11.1] > at > org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:441) > [activemq-broker-5.11.1.jar:5.11.1] > at > org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:484) > [activemq-broker-5.11.1.jar:5.11.1] > at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:87) > [activemq-broker-5.11.1.jar:5.11.1] > at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:87) > [activemq-broker-5.11.1.jar:5.11.1] > at > org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:277) > [activemq-broker-5.11.1.jar:5.11.1] > at > org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:97) > [activemq-broker-5.11.1.jar:5.11.1] > at > org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:550) > [activemq-broker-5.11.1.jar:5.11.1] > at org.apache.activemq.command.MessageAck.visit(MessageAck.java:245) > [activemq-client-5.11.1.jar:5.11.1] > at > org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:334) > [activemq-broker-5.11.1.jar:5.11.1] > at > org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:188) > [activemq-broker-5.11.1.jar:5.11.1] > at > org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) > [activemq-client-5.11.1.jar:5.11.1] > at > org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) > [activemq-client-5.11.1.jar:5.11.1] > at > org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:270) > [activemq-client-5.11.1.jar:5.11.1] > at > org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) > [activemq-client-5.11.1.jar:5.11.1] > at > org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214) > [activemq-client-5.11.1.jar:5.11.1] > at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196) > [activemq-client-5.11.1.jar:5.11.1] > at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_25] > {code} > Steps to reproduce : > 1. Enable TTL property for JMS client > 2. Keep TTL value very low say 5 sec > 3. Send lot of messages so some message will get expired > 4. Make sure that some message should expired when they are in MDB means > running inside MDB > Then we will see above error in the logs -- This message was sent by Atlassian JIRA (v6.3.4#6332)