qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bill Freeman <ke1g...@gmail.com>
Subject Re: Queue's various size limits in the C++ broker.
Date Thu, 06 Mar 2014 14:58:07 GMT
Gordon,

First, thank you so much for your response.

Some stuff elided:

On Thu, Mar 6, 2014 at 5:17 AM, Gordon Sim <gsim@redhat.com> wrote:

> On 03/05/2014 09:55 PM, Bill Freeman wrote:
>

...


>  even for durable queues where the message body may only exist in the file,
>> and contrary to some documentation of --mas-queue-size that implies that
>> it
>> only applies to the in RAM portion of queued messages.
>>
>
> Can you point me at the misleading docs and I'll see if I can make it
> clearer?


The spot I was thinking of is in the output of qpid-config -h:

    --max-queue-size=<n>
                        Maximum in-memory queue size as bytes

...

 If --max-queue-size is not specified when a queue is created, then
> qpid.max_size doesn't show up in the arguments property, and byteDepth is
> unconstrained.
>

Actually there is a default max-queue-size, which is set at the broker
> level and applies to all queues that don't set an explicit limit. An
> explicit limit of 0 will give an unconstrained queue.
>
>
and


>
> I guess that this default sizing is implemented in qpid-config, because a
>> home grown tool here manages to make queues marked durable, but without
>> qpid.file_count or qpid.file_size in the arguments property.
>>
>
> That seems to have been changed since 0.18; qpid-config no longer sets
> defaults itself (it will rely on the stores own internal defaults if none
> are specified)
>
> Ah, yes, now that I'm looking for them:
    --default-queue-limit
    --num-jfiles
    --jfile-size-pgs
And, since we're not setting them, it's good that qpidd --help gives the
default defaults.

I wonder if I can (for yet another tool I'm writing that tries to display
percent full in several categories) get the current default (whether
default default of configured) using QMF?  I guess I'll poke around in the
broker agent class.

...


 I see some non-durable queues with non-zero values for
> {msg,bytes}Persist{En,De}queues.  Is this because messages marked
> persistent (durable) is what is actually measured by these parameters, even
> when the queue is non-durable, and the messages aren't actually persisted?
>

The arguments reported by QMF are those that were passed in when the queue
> was created, even if they were not understood or were ignored.
>
>
I guess that I tried to abbreviate that question too much.  (Either that or
I'm too dense to follow your answer.)

msgPersistEnqueues, msgPersistDequeues, bytePersistEnqueues, and
bytePersistDequeues are queue statistics, not things in the argumenst queue
property.  I had assumed that they indicated the number and total size of
messages which had been persisted, so I was surprised to see non-zero
values for a non-durable queue, none of whose content is persisted.  This
led me to rethink that they referred to messages that were marked durable,
whether or not the queue is durable.  In a durable queue, the indicated
messages would have been persisted.  In a non-durable queue they would not
have been persisted.  I was wondering if this last interpretation is
correct.

And now that I think about it, is (bytePersistEnqueues -
bytePersistDequeues) the aggragate of the original (on the wire) size of
the messages, as opposed to the size (if the queue is durable) that they
consume on disk (since this differs).

Thanks again,
Bill

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message