[ 
https://issues.apache.org/jira/browse/AMQ-6622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15924994#comment-15924994
 ] 

Timothy Bish commented on AMQ-6622:
-----------------------------------

We'd need a reproducer and more information on your client and the types of 
messages being sent, are they persistent etc.  

> Unmatched acknowledge: MessageAckExpected -  message count (1) differs from 
> count in dispatched-list (2)
> --------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-6622
>                 URL: https://issues.apache.org/jira/browse/AMQ-6622
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.14.4
>         Environment: ActiveMQ v5.14.4, Linux, STOMP consumer
>            Reporter: Abhi
>
> Observed below exceptions in STOMP consumer after failover.
> The consumer continued to receive messages but this exception kept coming and 
> when the master activemq instance took over after another failover, all the 
> messages were redelivered and below warning went away.
> Exception:
> [20170310 00:24:22:092 stomp_client.py:82 ERROR] Received an error: 
> org.apache.activemq.transport.stomp.ProtocolException: Unexpected ACK 
> received for message-id 
> [ID:diogenes31.nyc.deshaw.com-41001-1489085659582-1:4:-1:1:1]
>             at 
> org.apache.activemq.transport.stomp.ProtocolConverter.onStompAck(ProtocolConverter.java:475)
>             at 
> org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommand(ProtocolConverter.java:250)
>             at 
> org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:85)
>             at 
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
>             at 
> org.apache.activemq.transport.stomp.StompCodec.processCommand(StompCodec.java:129)
>             at 
> org.apache.activemq.transport.stomp.StompCodec.parse(StompCodec.java:100)
>             at 
> org.apache.activemq.transport.stomp.StompNIOTransport.processBuffer(StompNIOTransport.java:136)
>             at 
> org.apache.activemq.transport.stomp.StompNIOTransport.serviceRead(StompNIOTransport.java:121)
>             at 
> org.apache.activemq.transport.stomp.StompNIOTransport.access$000(StompNIOTransport.java:44)
>             at 
> org.apache.activemq.transport.stomp.StompNIOTransport$1.onSelect(StompNIOTransport.java:73)
>             at 
> org.apache.activemq.transport.nio.SelectorSelection.onSelect(SelectorSelection.java:98)
>             at 
> org.apache.activemq.transport.nio.SelectorWorker$1.run(SelectorWorker.java:118)
>             at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>             at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>             at java.lang.Thread.run(Thread.java:745)
>  
> [20170310 00:24:22:096 stomp_client.py:82 ERROR] Received an error: 
> javax.jms.JMSException: Unmatched acknowledge: MessageAck {commandId = 5, 
> responseRequired = false, ackType = 2, consumerId = 
> ID:diogenes31.nyc.deshaw.com-41001-1489085659582-1:9:-1:1, firstMessageId = 
> null, lastMessageId = 
> ID:diogenes31.nyc.deshaw.com-41001-1489085659582-1:4:-1:1:2, destination = 
> topic://run1.topic.0, transactionId = null, messageCount = 1, poisonCause = 
> null}; Expected message count (1) differs from count in dispatched-list (2)
>             at 
> org.apache.activemq.broker.region.PrefetchSubscription.assertAckMatchesDispatched(PrefetchSubscription.java:520)
>             at 
> org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:212)
>             at 
> org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:528)
>             at 
> org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:484)
>             at 
> org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:88)
>             at 
> org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:276)
>             at 
> org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:88)
>             at 
> org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:98)
>             at 
> org.apache.activemq.broker.util.LoggingBrokerPlugin.acknowledge(LoggingBrokerPlugin.java:162)
>             at 
> org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:98)
>             at 
> deshaw.tools.jms.ActiveMQLoggingPlugin.acknowledge(ActiveMQLoggingPlugin.java:453)
>             at 
> org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:98)
>             at 
> org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:590)
>             at 
> org.apache.activemq.command.MessageAck.visit(MessageAck.java:245)
>             at 
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:336)
>             at 
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:200)
>             at 
> org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:45)
>             at 
> org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:301)
>             at 
> org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:97)
>             at 
> org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(ProtocolConverter.java:202)
>             at 
> org.apache.activemq.transport.stomp.ProtocolConverter.onStompAck(ProtocolConverter.java:456)
>             at 
> org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommand(ProtocolConverter.java:250)
>             at 
> org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:85)
>             at 
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
>             at 
> org.apache.activemq.transport.stomp.StompCodec.processCommand(StompCodec.java:129)
>             at 
> org.apache.activemq.transport.stomp.StompCodec.parse(StompCodec.java:100)
>             at 
> org.apache.activemq.transport.stomp.StompNIOTransport.processBuffer(StompNIOTransport.java:136)
>             at 
> org.apache.activemq.transport.stomp.StompNIOTransport.serviceRead(StompNIOTransport.java:121)
>             at 
> org.apache.activemq.transport.stomp.StompNIOTransport.access$000(StompNIOTransport.java:44)
>             at 
> org.apache.activemq.transport.stomp.StompNIOTransport$1.onSelect(StompNIOTransport.java:73)
>             at 
> org.apache.activemq.transport.nio.SelectorSelection.onSelect(SelectorSelection.java:98)
>             at 
> org.apache.activemq.transport.nio.SelectorWorker$1.run(SelectorWorker.java:118)
>             at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>             at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>             at java.lang.Thread.run(Thread.java:745)



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to