qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sandy Pratt <prat...@adobe.com>
Subject RE: Journal Full Error
Date Fri, 24 Jul 2009 19:45:49 GMT
> > 1) I thought producers were not allowed to commit messages past the
> 80% full point.
> Correct. You should see a Enqueue capacity threshold error message such
> as:
> 2009-07-24 14:20:48 notice Journal "perftest0": Created
> 2009-07-24 14:23:31 warning Journal "perftest0": Enqueue capacity
> threshold exceeded on queue "perftest0".
> 2009-07-24 14:23:31 error Unexpected exception: Enqueue capacity
> threshold exceeded on queue "perftest0". (JournalImpl.cpp:577)
> 2009-07-24 14:23:31 error Connection closed by error:
> Enqueue capacity threshold exceeded on queue "perftest0".
> (JournalImpl.cpp:577)(501)
> which closes the connection to the producer.
> The journal is a circular disk buffer. Both enqueues and dequeues are
> performed by writing records at the head of the journal. Thus a full
> journal is a fatal condition because you can neither enqueue nor
> dequeue
> (to make space). The 80% policy limits enqueues only; dequeues are not
> subject to this limit as these operations inherently free up journal
> space.
> In practice, it may be possible to fill a journal by using tiny
> messages
> (~10 bytes) to just below the enqueue threshold, then dequeueing all
> these messages except the first. In this case the sheer number of
> dequeues will fill the remaining approx. 20% of the journal while
> keeping the first message in place as a blocker. One of the functional
> tests uses this technique to test that a full journal occurs as
> expected.

[Sandy Pratt] 

That's a clue.  I was using messages of about 21 bytes previously, so maybe there were a few
of those hanging out in the journal still.  I didn't explicitly empty the queue when I changed
the message size.

> Thanks for bringing this up, I am interested to see how the enqueue
> capacity check is being evaded. It may be some odd sequence that occurs
> through JMS - but I fail to see how.

[Sandy Pratt] 

I'll see what I can do.

Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org

View raw message