Hi Gordon,

Thanks for fixing all the problems so quickly. I checked the changes you
made and everything seems to work nicely now - I didn't found any other
problems so far.

For the points 3 and 4 I raised JIRAs QPID-5322 and QPID-5323.

Thanks & Regards
Jakub


On Fri, Nov 8, 2013 at 6:50 PM, Gordon Sim <[email protected]> wrote:

> Some updates...
>
>
> On 11/06/2013 11:09 PM, Jakub Scholz wrote:
>
>> 1) Why is the page file created as executable?
>> -rwx------. 1 qpidd qpidd 110592000 Nov  6 19:07 my-test-queue-2
>>
>
> Fixed (QPID-5309)
>
> [...]
>
>  5) It would be great to have a broker configuration option "--paging-dir"
>> to be able to specify the directory for the page files should be created.
>> Right now it seems to use the "--data-dir" parameter.
>>
>
> I've got a patch up for review for this one: https://reviews.apache.org/r/
> 15353/
>
> [...]
>
>  7) The purge QMF method doesn't seem to work. When I call it for the first
>> time, it seem to always purge only the messages from the loaded pages.
>> When
>> I try to call it again I get the following error:
>> Connection closed by peer with amqp:internal-error: Queue
>> "my-test-queue-2": Dequeuing message with null persistence Id.
>> (/home/jakub/qpid/qpid-trunk/cpp/src/qpid/legacystore/
>> MessageStoreImpl.cpp:1372)
>>
>> (the queue configuration: durable=true, max_pages_loaded=1,
>> page_factor=1).
>> In fact with the queue configured as above, this happens to receiver as
>> well - when reading the queue for the first time it gets only the messages
>> from the loaded page. When read for the second time, it creates the same
>> error.
>>
>> I also tried to change the values of max_pages_loaded and page_factor ...
>> but that doesn't seem to change much. I can read/purge more messages
>> before
>> seeing the error. But it still seems to occur regularly.
>>
>
> Fixed (QPID-5315).
>
>
>  8) When the queue is created as above (max_pages_loaded=1, page_factor=1),
>> but as non-durable, purging and reading still doesn't work properly. It
>> always reads / purges only the loaded pages. But of course I do not get
>> the
>> error from the persistent message store. However, with increase
>> max_pages_loaded and/or page_factor (e.g. 10 and 10), the problem seems to
>> be resolved (for non-persistent queues).
>>
>> It seems to me that when the pages are too small / only few pages are
>> loaded, the broker doesn't manage to load the pages quickly enough from
>> disk and that some kind of "starves" the receiver. Perhaps setting minimal
>> values for the page_factor / max_pages_loaded can help here?
>>
>
> Should be fixed by QPID-5312.
>
>
>  9) I know that the paged queues don't support LVQ functionality and
>> probably also message priorities. But it seems that paged queues don't
>> really support filters / selectors as well, or? The client using selector
>> always receives only the messages which match the selector and are in the
>> loaded pages. I guess it makes sense - since the broker doesn't keep
>> complete message headers, it cannot easily match
>> the selectors. But in that case, I would suggest to raise an error if a
>> consumer with filter/selector is created.
>>
>
> I believe this was the same issue as above (i.e. QPID-5312), though it
> could occur even with max_pages_loaded > 1.
>
>
>  10) When I try to send a message bigger than the page size, I get
>> following
>> error:
>> Link detached by peer with amqp:precondition-failed: precondition-failed:
>> Message is larger than page size for queue backed by
>> /home/qpidd/qpid/0000/data/broker/my-test-queue-2
>> (/home/jakub/qpid/qpid-trunk/cpp/src/qpid/broker/PagedQueue.cpp:107)
>>
>> Is it intentional to include the full path to the page file? I would
>> definitely prefer to show just the file name or a queue name.
>>
>
> Fixed (QPID-5314)
>
> I haven't forgotten about (4) and (5) in your original mail, but they will
> take a bit more effort and thought. Could you raise JIRAs for those two?
>
> Thanks again for the feedback!
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to