activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bruce Snyder <bruce.sny...@gmail.com>
Subject Re: AMQ5.2 Prototype - Cluster issue
Date Fri, 28 Aug 2009 01:07:51 GMT
On Thu, Aug 27, 2009 at 12:24 PM, vezee<arun.addepalli@yahoo.com> wrote:
>
> AMQ-5.2, OS-Solaris 10
>
> Since Pure master-slave has automatic failback issue(as per the doc), for
> the purpose of prototype, i have setup Shared File System Master Slave using
> a single server, running two brokers and pointing to the same data
> store(solaris filesystem). I am using the example producer and consumer to
> test out how well the clustering is working. I changed the tcp url in the
> build.xml to a failover url pointing to the same server:port. While running
> the producer, when i stop the master broker, which eventually releases the
> lock... slave broker takes over. All messages are posted to the CLUSTERQ
> correctly without losing any.
>
> The problem is with Consumer part.While consuming the messages when i stop
> the Master broker this is what i see in the Master log:
> -------------------------------
> ERROR Service                        - Async error occurred:
> javax.jms.JMSException: Unmatched acknowledege: MessageAck {commandId =
> 2006, responseRequired = false, ackType = 2, consumerId =
> ID:MasterServer-63460-1251395007955-0:0:1:1, firstMessageId =
> ID:MasterServer-63180-1251394723309-0:0:1:1:915, lastMessageId =
> ID:MasterServer-63180-1251394723309-0:0:1:1:936, destination =
> queue://CLUSTERQ, transactionId = null, messageCount = 22}; Could not find
> Message-ID ID:MasterServer-63180-1251394723309-0:0:1:1:936 in
> dispatched-list (end of ack)
> javax.jms.JMSException: Unmatched acknowledege: MessageAck {commandId =
> 2006, responseRequired = false, ackType = 2, consumerId =
> ID:MasterServer-63460-1251395007955-0:0:1:1, firstMessageId =
> ID:MasterServer-63180-1251394723309-0:0:1:1:915, lastMessageId =
> ID:MasterServer-63180-1251394723309-0:0:1:1:936, destination =
> queue://CLUSTERQ, transactionId = null, messageCount = 22}; Could not find
> Message-ID ID:usacd1isdca101-63180-1251394723309-0:0:1:1:936 in
> dispatched-list (end of ack)
>        at
> org.apache.activemq.broker.region.PrefetchSubscription.assertAckMatchesDispatched(PrefetchSubscription.java:442)
>        at
> org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:188)
>        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.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:203)
>        at
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:185)
>        at java.lang.Thread.run(Thread.java:595)
> -------------------------------------------------------
>
> The Slave broker did take over and the consumer continues to read the
> messages where it left till the end. But, webconsole says 12 messages are
> still not read ... from 914-925. Even thou those messages were read by
> consumer earlier. I did control-C on Master when the consumer was showing
> the message 925 is read.
>
> Did i hit a bug? Can some one please explain this behavior?

Can you confirm from the consumer side that all messages were
correctly received? The errors above are due to the failover, but the
real test is whether all of the messages are being received by the
consumers.

Bruce
-- 
perl -e 'print unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
);'

ActiveMQ in Action: http://bit.ly/2je6cQ
Blog: http://bruceblog.org/
Twitter: http://twitter.com/brucesnyder

Mime
View raw message