-
Sub-task
-
Resolution: Done
-
Major
-
JBoss A-MQ 6.0
Added as a subtask as ENTMQ-664 as they may be related. I'm also using essentially the same test case.In this test case, I've changed my connection settings so my connection looks like:| <property name="brokerURL" value="failover:(ssl://10.0.1.9:51616,ssl://10.0.1.9:51617)?randomize=false&priorityBackup=true&jms.prefetchPolicy.queuePrefetch=1"/>|| |
... |
<property name="maxConnections" value="1" /> |
.... |
Commented out: |
<! |
I'm also using:| <from uri="amq:TA.CA.INFRA.TEST?preserveMessageQos=true&concurrentConsumers=10" />|When I kill the priority broker, my consumers move. When I restart the main broker, I see a several errors on both brokers 1 and 2[1]. When my consumers detect the priority broker is back they move over, but they stop consuming. The route is alive and there are messages on the queue.[1]| WARN | Async error occurred: javax.jms.JMSException: Unmatched acknowledge: MessageAck
{commandId = 22749, responseRequired = false, ackType = 2, consumerId = ID:bluebird.local-49538-1410807510375-1:1:26:2, firstMessageId = ID:bluebird.local-49329-1410806957862-15:1:1:1:36052, lastMessageId = ID:bluebird.local-49329-1410806957862-7:1:1:1:36125, destination = queue://TA.CA.INFRA.TEST, transactionId = TX:ID:bluebird.local-49538-1410807510375-1:1:5644, messageCount = 5, poisonCause = null}; Could not find Message-ID ID:bluebird.local-49329-1410806957862-15:1:1:1:36052 in dispatched-list (start of ack)||javax.jms.JMSException: Unmatched acknowledge: MessageAck
{commandId = 22749, responseRequired = false, ackType = 2, consumerId = ID:bluebird.local-49538-1410807510375-1:1:26:2, firstMessageId = ID:bluebird.local-49329-1410806957862-15:1:1:1:36052, lastMessageId = ID:bluebird.local-49329-1410806957862-7:1:1:1:36125, destination = queue://TA.CA.INFRA.TEST, transactionId = TX:ID:bluebird.local-49538-1410807510375-1:1:5644, messageCount = 5, poisonCause = null}; Could not find Message-ID ID:bluebird.local-49329-1410806957862-15:1:1:1:36052 in dispatched-list (start of ack)|
at org.apache.activemq.broker.region.PrefetchSubscription.assertAckMatchesDispatched(PrefetchSubscription.java:478) |
at org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:214) |
at org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:421) |
at org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:457) |
at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:87) |
at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:87) |
at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:287) |
at org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:97) |
at org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:518) |
at org.apache.activemq.command.MessageAck.visit(MessageAck.java:236) |
at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:334) |
at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:186) |
at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) |
at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) |
at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:288) |
at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) |
at org.apache.activemq.transport.tcp.SslTransport.doConsume(SslTransport.java:91) |
at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214) |
at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196) |
at java.lang.Thread.run(Thread.java:744) |