Bug 482944 - Management messages can get staged - which breaks management
Management messages can get staged - which breaks management
Status: CLOSED ERRATA
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp (Show other bugs)
1.1
All Linux
medium Severity medium
: 1.3
: ---
Assigned To: Ted Ross
Frantisek Reznicek
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-01-28 17:06 EST by Carl Trieloff
Modified: 2015-11-15 19:06 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
In order to prevent management messages from being accidentally staged, the "--staging-threshold" command line option is no longer supported by the qpidd daemon.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-10-14 12:15:13 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Carl Trieloff 2009-01-28 17:06:01 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.
Comment 1 Gordon Sim 2009-02-11 09:25:13 EST
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.
Comment 2 Carl Trieloff 2009-02-11 11:12:01 EST
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.
Comment 3 Gordon Sim 2009-02-12 03:41:14 EST
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.
Comment 4 Carl Trieloff 2009-07-10 15:45:22 EDT

fixed svn 793091. with unit test.

reproduce manually 

./qpidd --auth no --staging-threshold 10 --load-module msgstore.so

run qpid-tool

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
Comment 7 Frantisek Reznicek 2010-09-24 07:45:32 EDT
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:
python-qmf-0.7.946106-13.el5
python-qpid-0.7.946106-14.el5
python-saslwrapper-0.1.934605-2.el5
qmf-0.7.946106-16.el5
qmf-devel-0.7.946106-16.el5
qpid-cpp-client-0.7.946106-16.el5
qpid-cpp-client-devel-0.7.946106-16.el5
qpid-cpp-client-devel-docs-0.7.946106-16.el5
qpid-cpp-client-rdma-0.7.946106-16.el5
qpid-cpp-client-ssl-0.7.946106-16.el5
qpid-cpp-mrg-debuginfo-0.7.946106-16.el5
qpid-cpp-server-0.7.946106-16.el5
qpid-cpp-server-cluster-0.7.946106-16.el5
qpid-cpp-server-devel-0.7.946106-16.el5
qpid-cpp-server-rdma-0.7.946106-16.el5
qpid-cpp-server-ssl-0.7.946106-16.el5
qpid-cpp-server-store-0.7.946106-16.el5
qpid-cpp-server-xml-0.7.946106-16.el5
qpid-dotnet-0.4.738274-2.el5
qpid-java-client-0.7.946106-10.el5
qpid-java-common-0.7.946106-10.el5
qpid-tools-0.7.946106-11.el5
ruby-qpid-0.7.946106-2.el5
ruby-saslwrapper-0.1.934605-2.el5
saslwrapper-0.1.934605-2.el5
saslwrapper-devel-0.1.934605-2.el5

-> VERIFIED
Comment 8 Jaromir Hradilek 2010-10-07 10:37:59 EDT
    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.
    
    New Contents:
In order to prevent management messages from being accidentally staged, the "--staging-threshold" command line option is no longer supported by the qpidd daemon.
Comment 10 errata-xmlrpc 2010-10-14 12:15:13 EDT
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.

http://rhn.redhat.com/errata/RHSA-2010-0773.html

Note You need to log in before you can comment on or make changes to this bug.