qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ernie Allen" <eal...@redhat.com>
Subject Review Request 16573: NO JIRA: Prevent qpidd from loading multiple store modules
Date Thu, 02 Jan 2014 19:31:07 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16573/
-----------------------------------------------------------

Review request for qpid, Kim van der Riet and Ted Ross.


Repository: qpid


Description
-------

Fix for bz1038047 https://bugzilla.redhat.com/show_bug.cgi?id=1038047
This prevents multiple store modules from loading. It logs an error and throws an exception
when the second module attempts to call Broker::setStore(..). 
Broker::setStore(with a reference to a store object) is never called with the null store,
so that seemed a logical place to catch multiple store modules.

I was going to put the name of the store module that was attempting to load in the error log
and exception, but that proved more difficult that it was worth. If there is an easy way to
get the store module name, please let me know.


Diffs
-----

  /trunk/qpid/cpp/src/qpid/broker/Broker.cpp 1554878 

Diff: https://reviews.apache.org/r/16573/diff/


Testing
-------

Verified that an attempt to load multiple store plugins (or the same one multiple times) fails
./qpidd --data-dir /home/eallen/tmp --store-dir /home/eallen/tmp --auth=no -p 5666 --no-module-dir
--mgmt-enable=no --log-to-file /home/eallen/tmp/qpid_1.log --log-enable debug --log-source
yes --log-function yes --load-module /home/eallen/trunk/qpid/cpp/build/src/linearstore.so
--load-module /home/eallen/trunk/qpid/cpp/build/src/legacystore.so

[System] debug /home/eallen/trunk/qpid/cpp/src/qpid/Exception.cpp:43:qpid::Exception::Exception:
Exception constructed: Failed to start broker: Multiple store plugins were loaded (/home/eallen/trunk/qpid/cpp/src/qpid/broker/Broker.cpp:430)

Verified behavior is the same when qpidd is started as a deamon and when it's started as a
non-deamon
Verified qpidd starts normally without any store module
Verified qpidd starts normally with a single store module 


Thanks,

Ernie Allen


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