You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Aidan Skinner <ai...@apache.org> on 2008/10/03 17:59:44 UTC

Making the Java broker cease processing Jobs temporarily

Hi,

I ran across a situation where the broker behaves rather poorly. If a large
number of unprocessed Jobs and Events build up (such as a fast producer and
a slow message store) they can cause high memory usage, which causes the GC
to kick in a lot and the whole thing gets a bit messy.

I've written up a design for temporarily suspending the production of those
when memory is low, comments welcome here:
http://cwiki.apache.org/confluence/display/qpid/Broker+job+queue+limits

I'd prefer to keep the discussion on the wiki so it's all in one place.

Thanks,

- Aidan
-- 
Apache Qpid - World Domination through Advanced Message Queueing
http://cwiki.apache.org/qpid
"Nine-tenths of wisdom consists in being wise in time." - Theodore Roosevelt

Re: Making the Java broker cease processing Jobs temporarily

Posted by Carl Trieloff <cc...@redhat.com>.
Aidan Skinner wrote:
> Hi,
>
> I ran across a situation where the broker behaves rather poorly. If a large
> number of unprocessed Jobs and Events build up (such as a fast producer and
> a slow message store) they can cause high memory usage, which causes the GC
> to kick in a lot and the whole thing gets a bit messy.
>
> I've written up a design for temporarily suspending the production of those
> when memory is low, comments welcome here:
> http://cwiki.apache.org/confluence/display/qpid/Broker+job+queue+limits
>
> I'd prefer to keep the discussion on the wiki so it's all in one place.
>
> Thanks,
>
> - Aidan
>   

The C++ broker has threshold for this case -- yes it is the BIG hammer. 
would be interested to
compare strategies.

Carl.