[
https://issues.apache.org/jira/browse/AMQ-5851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Grijesh Saini updated AMQ-5851:
-------------------------------
Description:
When lot of messages got expired because of TTL property then below error will
appear and consumer will freeze
{code:xml}
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:480)
[activemq-broker-5.11.0.jar:5.11.0]
at
org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:212)
[activemq-broker-5.11.0.jar:5.11.0]
at
org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:446)
[activemq-broker-5.11.0.jar:5.11.0]
at
org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:461)
[activemq-broker-5.11.0.jar:5.11.0]
at
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:82)
[activemq-broker-5.11.0.jar:5.11.0]
at
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:82)
[activemq-broker-5.11.0.jar:5.11.0]
at
org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:277)
[activemq-broker-5.11.0.jar:5.11.0]
at
org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:92)
[activemq-broker-5.11.0.jar:5.11.0]
at
org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:505)
[activemq-broker-5.11.0.jar:5.11.0]
at org.apache.activemq.command.MessageAck.visit(MessageAck.java:245)
[activemq-client-5.11.0.jar:5.11.0]
at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:294)
[activemq-broker-5.11.0.jar:5.11.0]
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:148)
[activemq-broker-5.11.0.jar:5.11.0]
at
org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
[activemq-client-5.11.0.jar:5.11.0]
at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
[activemq-client-5.11.0.jar:5.11.0]
at
org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:270)
[activemq-client-5.11.0.jar:5.11.0]
at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
[activemq-client-5.11.0.jar:5.11.0]
at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214)
[activemq-client-5.11.0.jar:5.11.0]
at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196)
[activemq-client-5.11.0.jar:5.11.0]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_25]
{code}
Steps to reproduce :
1. Enable TTL property for messages
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
was:
When lot of messages got expired because of TTL property then below error will
appear and consumer will freeze
{code:xml}
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:480)
[activemq-broker-5.11.0.jar:5.11.0]
at
org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:212)
[activemq-broker-5.11.0.jar:5.11.0]
at
org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:446)
[activemq-broker-5.11.0.jar:5.11.0]
at
org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:461)
[activemq-broker-5.11.0.jar:5.11.0]
at
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:82)
[activemq-broker-5.11.0.jar:5.11.0]
at
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:82)
[activemq-broker-5.11.0.jar:5.11.0]
at
org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:277)
[activemq-broker-5.11.0.jar:5.11.0]
at
org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:92)
[activemq-broker-5.11.0.jar:5.11.0]
at
org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:505)
[activemq-broker-5.11.0.jar:5.11.0]
at org.apache.activemq.command.MessageAck.visit(MessageAck.java:245)
[activemq-client-5.11.0.jar:5.11.0]
at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:294)
[activemq-broker-5.11.0.jar:5.11.0]
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:148)
[activemq-broker-5.11.0.jar:5.11.0]
at
org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
[activemq-client-5.11.0.jar:5.11.0]
at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
[activemq-client-5.11.0.jar:5.11.0]
at
org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:270)
[activemq-client-5.11.0.jar:5.11.0]
at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
[activemq-client-5.11.0.jar:5.11.0]
at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214)
[activemq-client-5.11.0.jar:5.11.0]
at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196)
[activemq-client-5.11.0.jar:5.11.0]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_25]
{code}
Steps to reproduce :
1. Enable TTL property for messages
2. Keep TTL value very low say 5 sec
3. Send lot of messages so some message will get expired
Then we will see above error in the logs
> Javax.jms.JMSException: Unmatched acknowledge: MessageAck {commandId = 14,
> 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.11.0
> Reporter: Grijesh Saini
>
> When lot of messages got expired because of TTL property then below error
> will appear and consumer will freeze
> {code:xml}
> 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:480)
> [activemq-broker-5.11.0.jar:5.11.0]
> at
> org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:212)
> [activemq-broker-5.11.0.jar:5.11.0]
> at
> org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:446)
> [activemq-broker-5.11.0.jar:5.11.0]
> at
> org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:461)
> [activemq-broker-5.11.0.jar:5.11.0]
> at
> org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:82)
> [activemq-broker-5.11.0.jar:5.11.0]
> at
> org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:82)
> [activemq-broker-5.11.0.jar:5.11.0]
> at
> org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:277)
> [activemq-broker-5.11.0.jar:5.11.0]
> at
> org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:92)
> [activemq-broker-5.11.0.jar:5.11.0]
> at
> org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:505)
> [activemq-broker-5.11.0.jar:5.11.0]
> at org.apache.activemq.command.MessageAck.visit(MessageAck.java:245)
> [activemq-client-5.11.0.jar:5.11.0]
> at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:294)
> [activemq-broker-5.11.0.jar:5.11.0]
> at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:148)
> [activemq-broker-5.11.0.jar:5.11.0]
> at
> org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
> [activemq-client-5.11.0.jar:5.11.0]
> at
> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
> [activemq-client-5.11.0.jar:5.11.0]
> at
> org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:270)
> [activemq-client-5.11.0.jar:5.11.0]
> at
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
> [activemq-client-5.11.0.jar:5.11.0]
> at
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214)
> [activemq-client-5.11.0.jar:5.11.0]
> at
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196)
> [activemq-client-5.11.0.jar:5.11.0]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_25]
> {code}
> Steps to reproduce :
> 1. Enable TTL property for messages
> 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)