Per-destination queue size limits

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Per-destination queue size limits

tstack
Hello,

I'm trying to find a way to limit the sizes of queues that are storing
persistent messages.  The problem I'm facing right now is that one
misbehaving queue can fill up the store which causes the other queues
managed by the broker to stop functioning.  Ideally, I would like to
create a per-destination policy that restricts how much of the store
can be used by a particular queue.  So, the producers for the
misbehaving queue will block/timeout waiting for the queue to drain
while the other queues should continue to function.

I didn't see anything in the PolicyEntry class that might help.  I also
tried to write a broker plugin, but I couldn't figure out how to
determine how much space a destination was consuming (the message
count was available, but I would prefer to limit based on the byte size).

Thanks,

Tim
Reply | Threaded
Open this post in threaded view
|

Re: Per-destination queue size limits

Matt Pavlovich-2
Have you tried using multi-kahadb to split out the badly performing
queues in their own kaha db log space?  This typically solves the issue
for me without having to try to fight the problems that come with
specifying a hard limit.

http://activemq.apache.org/kahadb.html

-Matt

On 4/11/16 3:08 PM, tstack wrote:

> Hello,
>
> I'm trying to find a way to limit the sizes of queues that are storing
> persistent messages.  The problem I'm facing right now is that one
> misbehaving queue can fill up the store which causes the other queues
> managed by the broker to stop functioning.  Ideally, I would like to
> create a per-destination policy that restricts how much of the store
> can be used by a particular queue.  So, the producers for the
> misbehaving queue will block/timeout waiting for the queue to drain
> while the other queues should continue to function.
>
> I didn't see anything in the PolicyEntry class that might help.  I also
> tried to write a broker plugin, but I couldn't figure out how to
> determine how much space a destination was consuming (the message
> count was available, but I would prefer to limit based on the byte size).
>
> Thanks,
>
> Tim
>
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/Per-destination-queue-size-limits-tp4710603.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.