You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Ramit Arora <ra...@gmail.com> on 2008/03/26 08:29:45 UTC

Pure Master/Slave - Out of sync exceptions

Hi All,
I am facing the following problem using pure master/slave in 5.0.0. My
publishers push persistent messages to topics. It works well if I have no
durable subscribers. As soon as I add even a single durable subscriber & if
the publishers are pushing > 10 msgs per sec to the broker, I get the
following exceptions:

On the master

ERROR MasterBroker                   - Slave Failed
javax.jms.JMSException: Slave broker out of sync with master: Acknowledgment
(MessageAck {commandId = 705854, responseRequired = true, ackType = 2,
consumerId = ID:a.a.a.com-41318-1206515898274-0:0:1:1, firstMessageId =
null, lastMessageId = ID:b.a.a.com-36152-1206515720064-4:50:-1:1:72,
destination = topic://MyTopic.ll, transactionId = null, messageCount = 1})
was not in the dispatch list: []
        at
org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:332)
        at
org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:340)
        at
org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:427)
        at
org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194)
        at
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:73)
        at
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:73)
        at
org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:87)
        at
org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:440)
        at org.apache.activemq.command.MessageAck.visit(MessageAck.java:196)
        at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:281)
        at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
        at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:100)
        at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:67)
        at
org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:202)
        at
org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
        at
org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)

On the slave
ERROR Service                        - Async error occurred:
javax.jms.JMSException: Slave broker out of sync with master: Dispatched
message (ID:b.a.a.com-36152-1206515720064-4:53:-1:1:72) was not in the
pending list
javax.jms.JMSException: Slave broker out of sync with master: Dispatched
message (ID:a.a.a.com-36152-1206515720064-4:53:-1:1:72) was not in the
pending list
        at
org.apache.activemq.broker.region.PrefetchSubscription.processMessageDispatchNotification(PrefetchSubscription.java:160)
        at
org.apache.activemq.broker.region.AbstractRegion.processDispatchNotification(AbstractRegion.java:381)
        at
org.apache.activemq.broker.region.RegionBroker.processDispatchNotification(RegionBroker.java:553)
        at
org.apache.activemq.broker.BrokerFilter.processDispatchNotification(BrokerFilter.java:201)
        at
org.apache.activemq.broker.BrokerFilter.processDispatchNotification(BrokerFilter.java:201)
        at
org.apache.activemq.broker.BrokerFilter.processDispatchNotification(BrokerFilter.java:201)
        at
org.apache.activemq.broker.MutableBrokerFilter.processDispatchNotification(MutableBrokerFilter.java:211)
        at
org.apache.activemq.broker.TransportConnection.processMessageDispatchNotification(TransportConnection.java:450)
        at
org.apache.activemq.command.MessageDispatchNotification.visit(MessageDispatchNotification.java:77)
        at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:281)
        at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
        at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:100)
        at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:67)
        at
org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:202)
        at
org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
        at
org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)

These errors occur repeatedly & my terminals get flooded with them. I've
tried using in-memory persistence (persistent = false) but it does not seem
to help. But the surprising part is that both the master & slave seem to be
working well despite the errors. My clients do failover to the slave in case
of master failure. I am using the default settings.
Please help!

TIA,
Ramit 


-- 
View this message in context: http://www.nabble.com/Pure-Master-Slave---Out-of-sync-exceptions-tp16296691s2354p16296691.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.