[
https://issues.apache.org/jira/browse/AMQ-5851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14597764#comment-14597764
]
Christopher L. Shannon commented on AMQ-5851:
---------------------------------------------
I can work on a patch for this for this week. Some of the users that connect
to the brokers that my team manages use message driven beans so it would be
nice to try and get this sorted out in time for 5.12.0.
> 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
> 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)