activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Abhi (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AMQ-6622) Unmatched acknowledge: MessageAckExpected - message count (1) differs from count in dispatched-list (2)
Date Fri, 10 Mar 2017 15:16:04 GMT

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

Abhi commented on AMQ-6622:
---------------------------

I have tried to reproduce it but it seems very hard. I found an old post on activemq user
forum that faced a similar issue - .http://activemq.2283324.n4.nabble.com/Unmatched-acknowledge-td2955542.html.



> 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)

Mime
View raw message