Return-Path: Delivered-To: apmail-activemq-users-archive@www.apache.org Received: (qmail 45485 invoked from network); 29 Mar 2011 13:17:29 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 29 Mar 2011 13:17:29 -0000 Received: (qmail 98494 invoked by uid 500); 29 Mar 2011 13:17:29 -0000 Delivered-To: apmail-activemq-users-archive@activemq.apache.org Received: (qmail 98460 invoked by uid 500); 29 Mar 2011 13:17:29 -0000 Mailing-List: contact users-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@activemq.apache.org Delivered-To: mailing list users@activemq.apache.org Received: (qmail 98452 invoked by uid 99); 29 Mar 2011 13:17:29 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 29 Mar 2011 13:17:29 +0000 X-ASF-Spam-Status: No, hits=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of Michal.Singer@expand.com designates 207.126.144.139 as permitted sender) Received: from [207.126.144.139] (HELO eu1sys200aog115.obsmtp.com) (207.126.144.139) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 29 Mar 2011 13:17:23 +0000 Received: from source ([192.116.193.121]) (using TLSv1) by eu1sys200aob115.postini.com ([207.126.147.11]) with SMTP ID DSNKTZHbzT1h8la6F34ezDDmh8Tv8/5LX7Tl@postini.com; Tue, 29 Mar 2011 13:17:03 UTC Received: from exchange.infit.com ([172.16.31.31]) by exchange ([172.16.31.31]) with mapi; Tue, 29 Mar 2011 15:17:01 +0200 From: Michal Singer To: "users@activemq.apache.org" Date: Tue, 29 Mar 2011 15:16:25 +0200 Subject: RE: AMQ fails to process messages after a faulty restart Thread-Topic: AMQ fails to process messages after a faulty restart Thread-Index: AcvuEuo+ShoIRBPeRcG2mW/wjoLkrQAAGyXw Message-ID: <1FE2A3CDB6130D4498085C16E78118F5A6348DDC21@exchange> References: <1FE2A3CDB6130D4498085C16E78118F5A6348DDC16@exchange> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="windows-1255" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 But actually, after one message like that many of the messages appear inval= id so there is no recovery from that, and as a result only restarting the s= ervice will solve this. This seems like a real problem, which needs to be solved. -----Original Message----- From: Gary Tully [mailto:gary.tully@gmail.com]=20 Sent: =E2 29 =EE=F8=F5 2011 15:12 To: users@activemq.apache.org Subject: Re: AMQ fails to process messages after a faulty restart that exception is expected in some circumstances. The broker comes alive again, the client using the failover transport resends an ack, as it still has state. The broker has not yet dispatched any messages so it cannot ack the message= . There have been improvements in this area in 5.3, especially when transactions are required. Also, that error is downgraded to a warn. It occurs because sending the ack is async so there is no one to report the error to. On 29 March 2011 13:58, Michal Singer wrote: > Hi, i am using AMQ 5.2.0 on a multi process application to communicate be= tween processes. > I am configuring AMQ using Spring version 2.5.6 > > I am NOT using persistent AMQ. > > Sometimes after a faulty restart such as: kill java, electric power down = - after raise, there are errors: > > ActiveMQ Transport: tcp:///127.0.0.1:1138 [] 2011-03-22 11:24:21,640 ERRO= R [org.apache.activemq.broker.TransportConnection.Service] Async error occu= rred: javax.jms.JMSException: Could not correlate acknowledgment with dispa= tched message: MessageAck {commandId =3D 15, responseRequired =3D false, ac= kType =3D 0, consumerId =3D ID:EV-1134-1300785825140-0:1:2:1, firstMessageI= d =3D ID:EV-1034-1300785740343-2:11:1:1:1, lastMessageId =3D ID:EV-1034-130= 0785740343-2:11:1:1:1, destination =3D queue://destinationAgentQueue, trans= actionId =3D null, messageCount =3D 0} > javax.jms.JMSException: Could not correlate acknowledgment with dispatche= d message: MessageAck {commandId =3D 15, responseRequired =3D false, ackTyp= e =3D 0, consumerId =3D ID:EV-1134-1300785825140-0:1:2:1, firstMessageId = =3D ID:EV-1034-1300785740343-2:11:1:1:1, lastMessageId =3D ID:EV-1034-13007= 85740343-2:11:1:1:1, destination =3D queue://destinationAgentQueue, transac= tionId =3D null, messageCount =3D 0} > =A0 =A0 =A0 =A0at org.apache.activemq.broker.region.PrefetchSubscription.= acknowledge(PrefetchSubscription.java:304) > =A0 =A0 =A0 =A0at org.apache.activemq.broker.region.AbstractRegion.acknow= ledge(AbstractRegion.java:373) > =A0 =A0 =A0 =A0at org.apache.activemq.broker.region.RegionBroker.acknowle= dge(RegionBroker.java:462) > =A0 =A0 =A0 =A0at org.apache.activemq.broker.TransactionBroker.acknowledg= e(TransactionBroker.java:194) > =A0 =A0 =A0 =A0at org.apache.activemq.broker.BrokerFilter.acknowledge(Bro= kerFilter.java:74) > =A0 =A0 =A0 =A0at org.apache.activemq.broker.BrokerFilter.acknowledge(Bro= kerFilter.java:74) > =A0 =A0 =A0 =A0at org.apache.activemq.broker.MutableBrokerFilter.acknowle= dge(MutableBrokerFilter.java:85) > =A0 =A0 =A0 =A0at org.apache.activemq.broker.TransportConnection.processM= essageAck(TransportConnection.java:456) > =A0 =A0 =A0 =A0at org.apache.activemq.command.MessageAck.visit(MessageAck= .java:205) > =A0 =A0 =A0 =A0at org.apache.activemq.broker.TransportConnection.service(= TransportConnection.java:305) > =A0 =A0 =A0 =A0at org.apache.activemq.broker.TransportConnection$1.onComm= and(TransportConnection.java:179) > =A0 =A0 =A0 =A0at org.apache.activemq.transport.TransportFilter.onCommand= (TransportFilter.java:68) > =A0 =A0 =A0 =A0at org.apache.activemq.transport.WireFormatNegotiator.onCo= mmand(WireFormatNegotiator.java:143) > =A0 =A0 =A0 =A0at org.apache.activemq.transport.InactivityMonitor.onComma= nd(InactivityMonitor.java:206) > =A0 =A0 =A0 =A0at org.apache.activemq.transport.TransportSupport.doConsum= e(TransportSupport.java:84) > =A0 =A0 =A0 =A0at org.apache.activemq.transport.tcp.TcpTransport.doRun(Tc= pTransport.java:203) > =A0 =A0 =A0 =A0at org.apache.activemq.transport.tcp.TcpTransport.run(TcpT= ransport.java:185) > =A0 =A0 =A0 =A0at java.lang.Thread.run(Unknown Source) > > Thanks, Michal > --=20 http://blog.garytully.com http://fusesource.com