Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-5851

Unmatched acknowledge: MessageAck {commandId = 77, responseRequired = false, ackType = 2, ...Could not find Message-ID XXX in dispatched-list (start of ack)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.10.0, 5.11.0, 5.11.1
    • 5.12.0
    • JMS client

    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

       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]
      

      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

      Attachments

        1. AcknowledgeIssue.zip
          8.05 MB
          Grijesh Saini

        Issue Links

          Activity

            People

              gtully Gary Tully
              grijesh.saini Grijesh Saini
              Votes:
              1 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: