Return-Path: X-Original-To: apmail-qpid-users-archive@www.apache.org Delivered-To: apmail-qpid-users-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id D59B4C493 for ; Thu, 24 May 2012 16:46:23 +0000 (UTC) Received: (qmail 63380 invoked by uid 500); 24 May 2012 16:46:23 -0000 Delivered-To: apmail-qpid-users-archive@qpid.apache.org Received: (qmail 63289 invoked by uid 500); 24 May 2012 16:46:23 -0000 Mailing-List: contact users-help@qpid.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@qpid.apache.org Delivered-To: mailing list users@qpid.apache.org Received: (qmail 63281 invoked by uid 99); 24 May 2012 16:46:23 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 24 May 2012 16:46:23 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of robbie.gemmell@gmail.com designates 209.85.161.170 as permitted sender) Received: from [209.85.161.170] (HELO mail-gg0-f170.google.com) (209.85.161.170) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 24 May 2012 16:46:17 +0000 Received: by ggnf2 with SMTP id f2so7951459ggn.15 for ; Thu, 24 May 2012 09:45:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=UOmkRppkCqSAk6I3dcGpX9KfN2eD2y8bayV7TV545QY=; b=GNXMtCy8Or09spwAJHdt+ey+qskgQHQZNjxqFKQks7tAz/qqCHpYP5Al7sjfM94E6q xEvwCQ2rrJi/rqGoZB822BSqS9Av0MVanjDmo04BXtCFJCgG5otIK1NmGmII8Bbw9phJ 8zt6YYPr+o+fQIbYPapoQoKNrJLreuGn9MxYF5p+R6YoDQeODyw+6P6O4OmGzYMB9BT0 PY0MWYVvSJc6OGgiYfb+qW+ZjU2P/bjzTwrpOidKUe6n1lnbauPMqmJtzUeSJ4UoWzQr UBItI3KPMOCNrjpsUu7aesINbl8jZOsNzBTmz42bVLgvYPlFSHsyoKfUrvPgCC3+7A7j ay+A== MIME-Version: 1.0 Received: by 10.42.150.138 with SMTP id a10mr158160icw.14.1337877956092; Thu, 24 May 2012 09:45:56 -0700 (PDT) Received: by 10.231.46.141 with HTTP; Thu, 24 May 2012 09:45:55 -0700 (PDT) In-Reply-To: References: Date: Thu, 24 May 2012 17:45:55 +0100 Message-ID: Subject: Re: Qpid Java Broker Priority Queue Issue! From: Robbie Gemmell To: users@qpid.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org Hi Praveen, I don't believe priority queues are that widely used, but they are used. The problem with both of these defects is that its quite possible to never notice/hit them them depending on your messaging patterns. The newer defect is unfortunate given it appears to require a series of events to occur and looks to have been introduced while fixing the other issue before the release, but at first glance it appears straight forward to remedy and I'll pick that up tomorrow. Robbie On 21 May 2012 16:41, Praveen M wrote: > Hi Robbie, > > Thanks a lot for the quick update. Boy, you work late :) > > I've raised a Jira for this, > https://issues.apache.org/jira/browse/QPID-4012?focusedCommentId=3D132802= 20#comment-13280220 > > My guess is this would impact anyone using priority queues. It is > unfortunately a show stopper for us :( We did another test run and it > didn't hold up for over half an hour and the broker ran into this issue. > > I'd be great if you can help with this. > > Also, I'm curious if priority queues are not extensively used with Qpid. > (since we ran into two critical issues). Do you know if anyone has > currently deployed priority queues in production scale? > > > Thanks a lot for helping out. > Praveen > > > > On Fri, May 18, 2012 at 7:47 PM, Robbie Gemmell wrote: > >> Hi Praveen, >> >> Based on a quick look this does appear directly related to the change >> for the other issue yes, and I think I can guess what probably >> happened (a previously released entry was compared to a newly released >> entry after the original entry was consumed, its data removed from the >> store, and its soft referenced in-memory metadata was garbage >> collected, so that when inspecting the priority as done for the >> previous fix we ended up accessing the store again to retrieve >> metadata later than we can/should). If so its potentially not going to >> be that consistently reproducable, but has a couple of simple fixes >> available. >> >> I'm busy and/or away until later in the week but if you raise a JIRA >> then I will pick it up. >> >> Probably time to go to sleep before the alarm goes off to wake me up :) >> >> Robbie >> >> On 19 May 2012 02:17, Praveen M wrote: >> > Hi, >> > >> > We encountered this exception when running some long tests on Qpid usi= ng >> > the Java Broker. >> > >> > The test uses priority queues with 10 levels. >> > >> > I'm curious is this was due to some gaps in the change to fix the bug >> that >> > I filed earlier. >> > https://issues.apache.org/jira/browse/QPID-3927 >> > >> > Robbie, Can you please let us know if you can think the cause of the >> > exception below was due to some obvious bug? >> > I am going to try and reproduce this and provide a test which could >> > reproduce this soon. Just posting it as a heads up in case you know if >> > something is amiss atop your head. >> > >> > >> > The exception is, >> > >> > qpidbrkr`20120518072800.628`Uncaught exception in thread "IoReceiver -= / >> > 10.224.75.24:34340" >> > >> > java.lang.RuntimeException: org.apache.qpid.AMQStoreException: Metadat= a >> not >> > found for message with id 1330312 [error code 541: internal error] >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > >> org.apache.qpid.server.store.berkeleydb.BDBMessageStore$StoredBDBMessage= .getMetaData(BDBMessageStore.java:2327) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > >> org.apache.qpid.server.message.MessageTransferMessage.getMetaData(Messag= eTransferMessage.java:43) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > >> org.apache.qpid.server.message.MessageTransferMessage.getMessageHeader(M= essageTransferMessage.java:58) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > >> org.apache.qpid.server.queue.QueueEntryImpl.getMessageHeader(QueueEntryI= mpl.java:303) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > >> org.apache.qpid.server.queue.PriorityQueueList$PriorityQueueEntryImpl.co= mpareTo(PriorityQueueList.java:189) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > >> org.apache.qpid.server.queue.PriorityQueueList$PriorityQueueEntryImpl.co= mpareTo(PriorityQueueList.java:179) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > >> org.apache.qpid.server.queue.SimpleAMQQueue.updateSubRequeueEntry(Simple= AMQQueue.java:853) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > >> org.apache.qpid.server.queue.SimpleAMQQueue.requeue(SimpleAMQQueue.java:= 875) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > >> org.apache.qpid.server.queue.QueueEntryImpl.release(QueueEntryImpl.java:= 245) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > >> org.apache.qpid.server.subscription.Subscription_0_10.release(Subscripti= on_0_10.java:715) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > >> org.apache.qpid.server.subscription.ExplicitAcceptDispositionChangeListe= ner.onRelease(ExplicitAcceptDispositionChangeListener.java:62) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > >> org.apache.qpid.server.transport.ServerSession.onClose(ServerSession.jav= a:373) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > >> org.apache.qpid.server.transport.ServerSessionDelegate.closed(ServerSess= ionDelegate.java:1579) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > org.apache.qpid.transport.Session.closed(Session.java:1097) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > org.apache.qpid.transport.Connection.closed(Connection.java:541) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > >> org.apache.qpid.server.transport.ServerConnection.closed(ServerConnectio= n.java:420) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > org.apache.qpid.transport.network.Assembler.closed(Assembler.java:112) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > >> org.apache.qpid.transport.network.InputHandler.closed(InputHandler.java:= 204) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > >> org.apache.qpid.server.protocol.ProtocolEngine_0_10.closed(ProtocolEngin= e_0_10.java:206) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > >> org.apache.qpid.server.protocol.MultiVersionProtocolEngine.closed(MultiV= ersionProtocolEngine.java:102) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:17= 4) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at java.lang.Thread.run(Thread.java:619= ) >> > >> > Caused by: org.apache.qpid.AMQStoreException: Metadata not found for >> > message with id 1330312 [error code 541: internal error] >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > >> org.apache.qpid.server.store.berkeleydb.BDBMessageStore.getMessageMetaDa= ta(BDBMessageStore.java:1842) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0at >> > >> org.apache.qpid.server.store.berkeleydb.BDBMessageStore$StoredBDBMessage= .getMetaData(BDBMessageStore.java:2323) >> > >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0... 21 more >> > >> > >> > Thank you, >> > >> > -- >> > -Praveen >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org >> For additional commands, e-mail: users-help@qpid.apache.org >> >> > > > -- > -Praveen --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org For additional commands, e-mail: users-help@qpid.apache.org