> > 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 127.0.0.1:55390 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:[email protected]
