[openamq-dev] queue_bind, size and consume/cancel

Martin Sustrik sustrik at imatix.com
Sun Nov 11 16:14:12 CET 2007


Hm, thinking about is a bit more, someone may be confused why the queue 
isn't killed although he had set the kill limit.

I would suggest just issuing a warning if kill < trim or kill < drop or 
kill < warn.

Would that be ok for everyone?

Martin

Martin Sustrik wrote:
> No problem. It's just a minor change. It'll be available in the next 
> release.
> 
> Cheers.
> Martin
> 
> Pieter Hintjens wrote:
>> Yes, that's a good solution. Sanity checks. Martin, maybe we should
>> open a jira for bugs and suggestions...?
>>
>> On 11/10/07, Dmitri Tsyganov <dmitri.tsyganov at dowjones.com> wrote:
>>> Thanks, I forgot about amq_server_base.cfg!
>>>
>>> I think that would be nice if it can check if "kill" < "trim" and set
>>> "kill" to trim + 1 (or something, maybe +10%).
>>>
>>> Dmitri
>>>
>>> On Fri, 2007-11-09 at 22:46 +0100, Martin Sustrik wrote:
>>>> Dmitri,
>>>>
>>>>> Looks like when I set "trim" size limit, the "kill" limit is still there
>>>>> and it is set to 50K or so. So when I set trim limit to 70K, without
>>>>> specifying "kill" size - my queue gets killed when it reaches the size
>>>>> of 50K. If I set "warn", "trim" and "kill" (although kill is kinda
>>>>> redundant here :) ) - everything works - queue gets trimmed at my "trim"
>>>>> limit!
>>>> Actually, this is not a bug. It is a feature! And a counter-intuitive
>>>> one indeed :)
>>>>
>>>> Let me explain.
>>>>
>>>> Each queue profile can define several actions. That way you can can warn
>>>> when the number of messages in queue exceeds 10000 and kill the queue
>>>> when it goes over 50000.
>>>>
>>>> So far so good.
>>>>
>>>> Now, the profile you've wrote (amq_server.cfg) inherits the defaults
>>>> from amq_server_base.cfg.
>>>>
>>>> amq_server_base.cfg defines the limits in the following way:
>>>>
>>>>          <limit name = "warn" value = "10000" />
>>>>          <limit name = "kill" value = "50000" />
>>>>
>>>> amq_server.cfg defines them as follows:
>>>>
>>>>          <limit name = "trim" value = "70000" />
>>>>
>>>> After inheritance is done, the list of actions looks like this:
>>>>
>>>>          <limit name = "warn" value = "10000" />
>>>>          <limit name = "kill" value = "50000" />
>>>>          <limit name = "trim" value = "70000" />
>>>>
>>>> So the broker warns at 10000 messages in queue, kills it at 50000 and
>>>> starts trimming it at 70000 (purely hypothetical case of course given
>>>> that the queue is killed at 50000).
>>>>
>>>> As I said, it's highly counter-intuitive, but it is a feature.
>>>>
>>>> Maybe we should redesign is somehow to make it more user-friendly.
>>>>
>>>> Martin
>>>> _______________________________________________
>>>> openamq-dev mailing list
>>>> openamq-dev at lists.openamq.org
>>>> http://lists.openamq.org/mailman/listinfo/openamq-dev
>>> _______________________________________________
>>> openamq-dev mailing list
>>> openamq-dev at lists.openamq.org
>>> http://lists.openamq.org/mailman/listinfo/openamq-dev
>>>
>>>
>>
> 
> _______________________________________________
> openamq-dev mailing list
> openamq-dev at lists.openamq.org
> http://lists.openamq.org/mailman/listinfo/openamq-dev



More information about the openamq-dev mailing list