Red Hat Bugzilla – Bug 482944
Management messages can get staged - which breaks management
Last modified: 2015-11-15 19:06:41 EST
run the broker with ./qpidd --auth no --staging-threshold 10
try use any qpid- management tool.
What is happening is the mgnt content is being released before it gets to the mgnt exchange.
A header, or something needs to be added to mark messages that can't be staged.
I think removing the staging-threshold option is the best short term option. It no longer offers the full functionality it was introduced for anyway as a message is always fully loaded into memory before delivery to a client.
Is loaded fully into memory? I am not sure on this point as I worked on this part of teh code in cluster and went to great extent not to load it all into memory.
The 'higher layers' do indeed still load and send a frames worth of data at a time. However the threading change added some time ago had the side effect (unnoticed at the time) of having these queued up in the io layer before they are written out to the wire (which is only done once the thread doing the sequential load-and-send completes). Thus all the frames are held in memory before the message can be written and the intended end-to-end handling of large messages is no longer implemented.
Probably a nicer way to handle large messages is to use the message fragmentation feature of 0-10 which was not available when this code was first written. The 1.0 draft is slightly different again.
fixed svn 793091. with unit test.
./qpidd --auth no --staging-threshold 10 --load-module msgstore.so
if you can schema, it works. if you get no info on schema, it's bust.
The issue on thread buffer bringing more into mem has been moved to https://bugzilla.redhat.com/show_bug.cgi?id=510773
The issue is resolved by removal of qpidd --staging-threshold option and schema in qpid-tool works as expected. Tested on RHEL 4.8 / 5.5 i386 / x86_64 on packages:
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
In order to prevent management messages from being accidentally staged, the "--staging-threshold" command line option is no longer supported by the qpidd daemon.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.