activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Grijesh Saini (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AMQ-5851) Unmatched acknowledge: MessageAck {commandId = 77, responseRequired = false, ackType = 2, ...Could not find Message-ID XXX in dispatched-list (start of ack)
Date Thu, 18 Jun 2015 13:01:00 GMT

     [ 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 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:480)
[activemq-broker-5.11.0.jar:5.11.0]
         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

  was:
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: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 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


> 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: transactions, ttl
>
> 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:480)
[activemq-broker-5.11.0.jar:5.11.0]
>          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)

Mime
View raw message