Network of brokers gets out of sync for dispatched messages causing a shutdown
of the bridge connections and stalling the brokers
---------------------------------------------------------------------------------------------------------------------------------
Key: AMQ-1976
URL: https://issues.apache.org/activemq/browse/AMQ-1976
Project: ActiveMQ
Issue Type: Bug
Affects Versions: 5.2.0
Reporter: Jayson Minard
Running 5.2.0 RC2 + patch AMQ-1971
I have a network of 5 brokers, running around 50,000 messages per minute per
broker within each broker and sending across a total of around 20,000 messages
per minute to one of the 5 brokers via a bridge connection. The configuration
is the 5.2.0 default with broker names changed on each config and with a
network connector set for autodiscovery.
The system runs for a while then eventually on one broker (the receiving broker
that is the only one with the consumers for this queue) these errors appear:
ERROR RecoveryListenerAdapter - Message id
ID:ingest1.mag.ss.com-54179-1223898804441-0:6:1:1:6134 could not be recovered
from the data store - already dispatched
ERROR RecoveryListenerAdapter - Message id
ID:query1.mag.ss.com-38822-1223898893819-0:58:16388:1:48 could not be recovered
from the data store - already dispatched
They appear in really high counts.
On the sending side brokers (publishers but no consumers on these brokers for
this queue), these errors appear:
INFO DemandForwardingBridge - query2.mag.ss.com bridge to
query1.mag.ss.com stopped
INFO DiscoveryNetworkConnector - Establishing network connection between
from vm://query2.mag.ss.com to tcp://query1.mag.ss.com:61616
INFO DemandForwardingBridge - Network connection between
vm://query2.mag.ss.com#30 and
tcp://query1.mag.ss.com/10.100.0.101:61616(query1.mag.ss.com) has been
established.
ERROR Service - Async error occurred:
javax.jms.JMSException: Unmatched acknowledege: Expected message count (1)
differs from count in dispatched-list (732)
javax.jms.JMSException: Unmatched acknowledege: Expected message count (1)
differs from count in dispatched-list (732)
at
org.apache.activemq.broker.region.PrefetchSubscription.assertAckMatchesDispatched(PrefetchSubscription.java:445)
at
org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:187)
at
org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:373)
at
org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:462)
at
org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194)
at
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
at
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
at
org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:85)
at
org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:456)
at org.apache.activemq.command.MessageAck.visit(MessageAck.java:205)
at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:305)
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:104)
at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
at
org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:113)
at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
at
org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
at
org.apache.activemq.network.DemandForwardingBridgeSupport$8.onCompletion(DemandForwardingBridgeSupport.java:643)
at
org.apache.activemq.transport.FutureResponse.set(FutureResponse.java:61)
at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:97)
at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:202)
at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:184)
at java.lang.Thread.run(Thread.java:619)
INFO DemandForwardingBridge - Network connection between
vm://query2.mag.ss.com#30 and tcp://query1.mag.ss.com/10.100.0.101:61616
shutdown due to a local error: javax.jms.JMSException: Unmatched acknowledege:
Expected message count (1) differs from count in dispatched-list (732)
INFO DemandForwardingBridge - query2.mag.ss.com bridge to
query1.mag.ss.com stopped
INFO DiscoveryNetworkConnector - Establishing network connection between
from vm://query2.mag.ss.com to tcp://query1.mag.ss.com:61616
INFO DemandForwardingBridge - Network connection between
vm://query2.mag.ss.com#32 and
tcp://query1.mag.ss.com/10.100.0.101:61616(query1.mag.ss.com) has been
established.
ERROR Service - Async error occurred:
javax.jms.JMSException: Unmatched acknowledege: Expected message count (1)
differs from count in dispatched-list (730)
javax.jms.JMSException: Unmatched acknowledege: Expected message count (1)
differs from count in dispatched-list (730)
at
org.apache.activemq.broker.region.PrefetchSubscription.assertAckMatchesDispatched(PrefetchSubscription.java:445)
at
org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:187)
at
org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:373)
at
org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:462)
at
org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194)
at
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
at
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
at
org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:85)
at
org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:456)
at org.apache.activemq.command.MessageAck.visit(MessageAck.java:205)
at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:305)
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:104)
at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
at
org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:113)
at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
at
org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
at
org.apache.activemq.network.DemandForwardingBridgeSupport$8.onCompletion(DemandForwardingBridgeSupport.java:643)
at
org.apache.activemq.transport.FutureResponse.set(FutureResponse.java:61)
at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:97)
at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:202)
at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:184)
at java.lang.Thread.run(Thread.java:619)
INFO DemandForwardingBridge - Network connection between
vm://query2.mag.ss.com#32 and tcp://query1.mag.ss.com/10.100.0.101:61616
shutdown due to a local error: javax.jms.JMSException: Unmatched acknowledege:
Expected message count (1) differs from count in dispatched-list (730)
ERROR Service - Async error occurred:
javax.jms.JMSException: Unmatched acknowledege: Expected message count (1)
differs from count in dispatched-list (729)
javax.jms.JMSException: Unmatched acknowledege: Expected message count (1)
differs from count in dispatched-list (729)
at
org.apache.activemq.broker.region.PrefetchSubscription.assertAckMatchesDispatched(PrefetchSubscription.java:445)
at
org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:187)
at
org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:373)
at
org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:462)
at
org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194)
...
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.