qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robbie Gemmell <robbie.gemm...@gmail.com>
Subject Re: Qpid Java Broker Priority Queue Issue!
Date Thu, 24 May 2012 16:45:55 GMT
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 <lefthandmagic@gmail.com> 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=13280220#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 <robbie.gemmell@gmail.com>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 <lefthandmagic@gmail.com> wrote:
>> > Hi,
>> >
>> > We encountered this exception when running some long tests on Qpid using
>> > 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: Metadata
>> not
>> > found for message with id 1330312 [error code 541: internal error]
>> >
>> >                at
>> >
>> org.apache.qpid.server.store.berkeleydb.BDBMessageStore$StoredBDBMessage.getMetaData(BDBMessageStore.java:2327)
>> >
>> >                at
>> >
>> org.apache.qpid.server.message.MessageTransferMessage.getMetaData(MessageTransferMessage.java:43)
>> >
>> >                at
>> >
>> org.apache.qpid.server.message.MessageTransferMessage.getMessageHeader(MessageTransferMessage.java:58)
>> >
>> >                at
>> >
>> org.apache.qpid.server.queue.QueueEntryImpl.getMessageHeader(QueueEntryImpl.java:303)
>> >
>> >                at
>> >
>> org.apache.qpid.server.queue.PriorityQueueList$PriorityQueueEntryImpl.compareTo(PriorityQueueList.java:189)
>> >
>> >                at
>> >
>> org.apache.qpid.server.queue.PriorityQueueList$PriorityQueueEntryImpl.compareTo(PriorityQueueList.java:179)
>> >
>> >                at
>> >
>> org.apache.qpid.server.queue.SimpleAMQQueue.updateSubRequeueEntry(SimpleAMQQueue.java:853)
>> >
>> >                at
>> >
>> org.apache.qpid.server.queue.SimpleAMQQueue.requeue(SimpleAMQQueue.java:875)
>> >
>> >                at
>> >
>> org.apache.qpid.server.queue.QueueEntryImpl.release(QueueEntryImpl.java:245)
>> >
>> >                at
>> >
>> org.apache.qpid.server.subscription.Subscription_0_10.release(Subscription_0_10.java:715)
>> >
>> >                at
>> >
>> org.apache.qpid.server.subscription.ExplicitAcceptDispositionChangeListener.onRelease(ExplicitAcceptDispositionChangeListener.java:62)
>> >
>> >                at
>> >
>> org.apache.qpid.server.transport.ServerSession.onClose(ServerSession.java:373)
>> >
>> >                at
>> >
>> org.apache.qpid.server.transport.ServerSessionDelegate.closed(ServerSessionDelegate.java:1579)
>> >
>> >                at
>> > org.apache.qpid.transport.Session.closed(Session.java:1097)
>> >
>> >                at
>> > org.apache.qpid.transport.Connection.closed(Connection.java:541)
>> >
>> >                at
>> >
>> org.apache.qpid.server.transport.ServerConnection.closed(ServerConnection.java:420)
>> >
>> >                at
>> > org.apache.qpid.transport.network.Assembler.closed(Assembler.java:112)
>> >
>> >                at
>> >
>> org.apache.qpid.transport.network.InputHandler.closed(InputHandler.java:204)
>> >
>> >                at
>> >
>> org.apache.qpid.server.protocol.ProtocolEngine_0_10.closed(ProtocolEngine_0_10.java:206)
>> >
>> >                at
>> >
>> org.apache.qpid.server.protocol.MultiVersionProtocolEngine.closed(MultiVersionProtocolEngine.java:102)
>> >
>> >                at
>> > org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:174)
>> >
>> >                at 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]
>> >
>> >                at
>> >
>> org.apache.qpid.server.store.berkeleydb.BDBMessageStore.getMessageMetaData(BDBMessageStore.java:1842)
>> >
>> >                at
>> >
>> org.apache.qpid.server.store.berkeleydb.BDBMessageStore$StoredBDBMessage.getMetaData(BDBMessageStore.java:2323)
>> >
>> >                ... 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


Mime
View raw message