| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
(required an adjustment to the size of messages in the bytes based credit test)
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@612805 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
reported rates.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@612478 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
tracked e.g. for latency measurement)
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@612086 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
| |
The new --load-dir and --load options don't work with boost-1.33. This older version considers the option --load to be ambiguous.
This patch change --load to --load-module to remove the ambiguity.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@611876 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The attached patch provides support for plugin modules in the C++ broker.
- Plugins are supported (--load <lib>, --load-dir <dir> options provided)
- Command options may be extended by plugins.
- A workaround was added to make config-file parsing tolerant of unregistered options.
- Store-specific options were removed so they can be supplied by a plugin
- A pre-log facility was introduced so log messages can be generated prior to the initialization of the logging module.
File-by-file details:
M cpp/src/qpidd.cpp
Added support for loadable plugin modules. This involves a
two-phased handling of command line/config options. Phase-1
determines which modules to load and phase-2 is based on all of
the command-line options supplied by qpidd and the loaded
plugins.
M cpp/src/Makefile.am
Added dependency for boost_filesystem library.
M cpp/src/qpid/Plugin.h
Added 'earlyInitialize' method. Plugins are now initialized at
two points: earlyInitialize is called prior to broker
initialization and initialize is called at the end of broker
init. This allows modules like the store to be hooked in early
and other modules to be able to assume that the broker target is
fully functional.
M cpp/src/qpid/cluster/ClusterPlugin.cpp
Added stub for the new pure-virtual earlyInitialize method.
M cpp/src/qpid/Options.h
M cpp/src/qpid/Options.cpp
Added 'allowUnknown' option in the parse method. This is needed
in phase-1 command processing when there are options for
not-yet-loaded plugin modules.
Because the stable version of boost does not permit 'allowUnknown'
for config files, a workaround has been implemented in this module
to pre-filter the config file text removing lines that represent
unknown options.
M cpp/src/qpid/broker/Broker.h
M cpp/src/qpid/broker/Broker.cpp
Removed all store-specific command options. Updated logic to
allow the store to be a plugin module.
M cpp/src/qpid/broker/DtxManager.h
M cpp/src/qpid/broker/DtxManager.cpp
M cpp/src/qpid/broker/QueueRegistry.h
M cpp/src/qpid/broker/QueueRegistry.cpp
Changed API to these classes such that the store is no longer
supplied in the constructor but is supplied later, before any
operations are called for.
M cpp/src/qpid/broker/MessageStoreModule.h
M cpp/src/qpid/broker/MessageStoreModule.cpp
This module is still needed to provide "exception transfer"
service. It was changed to not load the store module but rather
use the already-loaded plugin store.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@611823 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The attached patch provides support for plugin modules in the C++ broker.
- Plugins are supported (--load <lib>, --load-dir <dir> options provided)
- Command options may be extended by plugins.
- A workaround was added to make config-file parsing tolerant of unregistered options.
- Store-specific options were removed so they can be supplied by a plugin
- A pre-log facility was introduced so log messages can be generated prior to the initialization of the logging module.
File-by-file details:
M cpp/src/qpidd.cpp
Added support for loadable plugin modules. This involves a
two-phased handling of command line/config options. Phase-1
determines which modules to load and phase-2 is based on all of
the command-line options supplied by qpidd and the loaded
plugins.
M cpp/src/Makefile.am
Added dependency for boost_filesystem library.
M cpp/src/qpid/Plugin.h
Added 'earlyInitialize' method. Plugins are now initialized at
two points: earlyInitialize is called prior to broker
initialization and initialize is called at the end of broker
init. This allows modules like the store to be hooked in early
and other modules to be able to assume that the broker target is
fully functional.
M cpp/src/qpid/cluster/ClusterPlugin.cpp
Added stub for the new pure-virtual earlyInitialize method.
M cpp/src/qpid/Options.h
M cpp/src/qpid/Options.cpp
Added 'allowUnknown' option in the parse method. This is needed
in phase-1 command processing when there are options for
not-yet-loaded plugin modules.
Because the stable version of boost does not permit 'allowUnknown'
for config files, a workaround has been implemented in this module
to pre-filter the config file text removing lines that represent
unknown options.
M cpp/src/qpid/broker/Broker.h
M cpp/src/qpid/broker/Broker.cpp
Removed all store-specific command options. Updated logic to
allow the store to be a plugin module.
M cpp/src/qpid/broker/DtxManager.h
M cpp/src/qpid/broker/DtxManager.cpp
M cpp/src/qpid/broker/QueueRegistry.h
M cpp/src/qpid/broker/QueueRegistry.cpp
Changed API to these classes such that the store is no longer
supplied in the constructor but is supplied later, before any
operations are called for.
M cpp/src/qpid/broker/MessageStoreModule.h
M cpp/src/qpid/broker/MessageStoreModule.cpp
This module is still needed to provide "exception transfer"
service. It was changed to not load the store module but rather
use the already-loaded plugin store.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@611822 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@611205 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@611009 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when possible. Based on patch from Gordon Sim.
- Refactor Connector::writebuff, ::send as Connector::Writer
- Collect frames up to EOF notifying AIO write.
- Encode all available complete framesets into buffers as compactly as possible.
- Logging buffer size and frames encoded per write for client and broker.
- framing::Buffer added getPosition(), getSize(), default ctor, copy ctor.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@610972 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@610354 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Two changes in this patch:
1) Management object IDs are now persistent for persistent (durable) objects. This is required to provide continuity of historical management data across broker restarts. The format of object IDs now indicates whether they are transient or persistent. The upper bit (bit 63) is 0 for transient IDs and 1 for persistent IDs.
2) Changes have been made to the management code generator in preparation for allowing it to be used by outside projects that wish to use the broker Plugin API for management access.
File-by-file notes:
M python/mgmt-cli/managementdata.py
Enhanced user-friendly display of 64-bit object IDs to
differentiate between persistent IDs and non-persistent IDs.
M cpp/src/Makefile.am
Changed command line format for call to the management code
generator.
M cpp/src/qpid/broker/Broker.cpp
M cpp/src/qpid/broker/Vhost.cpp
M cpp/src/qpid/broker/Queue.cpp
Updated calls to ManagementAgent::addObject to use the new support
for persistent IDs, ensuring that the management object IDs for
persistent objects are themselves persistent.
M cpp/src/qpid/management/ManagementAgent.h
M cpp/src/qpid/management/ManagementAgent.cpp
Added support (using defaulted arguments) to
ManagementAgent::addObject for persistent object IDs
M cpp/managementgen/generate.py
M cpp/managementgen/schema.py
M cpp/managementgen/main.py
Added the ability for templates to set variables to be used during
code generation.
Makefile fragment is now generated using a template rather than
hard-code. This was done to help non-qpid code to use the code
generator for management-via-qpid support.
M cpp/managementgen/templates/Args.h
M cpp/managementgen/templates/Class.cpp
M cpp/managementgen/templates/Class.h
Use a generator variable to define the comment prefix.
A cpp/managementgen/templates/Makefile.mk
New template for the qpid makefile fragment.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@609672 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@608948 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@608916 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@608915 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
| |
Not run as part of normal check target.
Takes about 5 minutes to run on an amd-32 optimized build.
For a longer run, increase PERFTEST_MULT in run_perftest.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@608892 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@608649 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@608135 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@606176 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
| |
Poller::epollToDirection now treats EPOLLERR as equivalent to EPOLLHUP for
purposes of indicating a disconnect from the peer on the write side of the
connection
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@605982 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
(Previously the default exchange was being used regardless of mode; if a shared test was run followed by e.g. a fanout test the messages would collect in the shared queue which had no listeners and the memroy buildup skewed test results).
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@605888 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@605251 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
| |
* Limit bytes allowed to be written on a connection on a single go to the max ever read
* Small performance fix for appending to FrameSets
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604983 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604947 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
due to including end of frame marker in the overhead)
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604823 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604821 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604272 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604244 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604232 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
and loading it from disk for delivery)
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604215 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
| |
options parser.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604205 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604170 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604169 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
delivery)
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604167 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
| |
- changed default message size to 1024
- made --pub-confirm=true the default for accurate publish rates.
- added Mbytes/sec rate to results
perfdist: takes a single host list for publishr and subscriber clients.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604022 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603973 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603724 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
src/tests/unit_test.h: Added missing #include <boost/version.hpp>
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603719 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603551 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603411 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603344 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
| |
src/tests/SocketProxy.h: fixed exception handling.
src/tests/exception_test.cpp: fixed compile error.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603273 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603047 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
build failure
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603043 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QPID-697
Fixed access-rights constants for management schema.
Added mutex to fix problems associated with concurrent invocation of accessors for queue statistics.
Removed queue schema content that is not relevant to QPID.
QPID-698
This patch creates a new subdirectory in python called "mgmt-cli".
python/mgmt-cli/main.py can be executed from the shell. If no arguments are supplied, it attempts to connect to the broker at localhost:5672. The first argument is the hostname for the target broker and the second (optional) argument is the TCP port (defaults to 5672).
It is assumed that the AMQP spec file is in the following location:
/usr/share/amqp/amqp.0-10-preview.xml
It is also required that the qpid/python directory be in the PYTHONPATH environment variable.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603034 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
| |
network disconnect.
src/qpid/client/Connector.h: remove friend hack for previous flawed disconnect approach.
src/tests/BrokerFixture.h: ""
src/tests/ClientSessionTest.cpp, exception_test.cpp: use ProxyConnection
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@602980 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
examples/Makefile.am: Fix typo.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@602239 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Replaced InProcessBroker with BrokerFixture, uses a full loopback
broker for more realistic tests.
- Extracted non-generated parts of Session_0_10 into SessionBase.
- Sundry small fixes.
src/tests/BrokerFixture.h
- in process broker with loopback connections.
- tests can force a disorderly disconnect.
src/qpid/client/Connector.h
- back door to private members for BrokerFixture.
- close() in destructor to avoid leaks.
src/qpid/client/ConnectionImpl.h,cpp:
- close() in destructor, to fix hang when destroyed without being closed.
src/qpid/client/CompletionTracker.h,.cpp:
- Fixed race in close/add.
src/qpid/client/SessionBase.h,cpp:
- Extracted all non-generated code from Session_0_10 into SessionBase
- Added sync()
src/tests/exception_test.cpp: Converted to boost & BrokerFixture
src/tests/ClientChannelTest.cpp, ClientSessionTest.cpp: Use BrokerFixture
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@602182 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@602103 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
| |
and 1.34
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@602063 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Queue statistics fixed. Additional objects added (exchange, binding).
Changes:
M cpp/src/qpid/broker/ExchangeRegistry.h
M cpp/src/qpid/broker/ExchangeRegistry.cpp
ExchangeRegistry was modified to pass a parent pointer to created
exchanges. This parent reference is not stored but is used to
link management objects in a hierarchy of ownership.
M cpp/src/qpid/broker/Exchange.h
M cpp/src/qpid/broker/Exchange.cpp
Exchange now inherits Manageable to make it visible via the
management interface. The Exchange parent class handles most of
the management boilerplate. A Binding struct was introduced to
track bindings for management. This is separate from
QueueBindings which track bindings for queues.
M cpp/src/qpid/broker/HeadersExchange.h
M cpp/src/qpid/broker/FanOutExchange.h
M cpp/src/qpid/broker/DirectExchange.h
M cpp/src/qpid/broker/TopicExchange.h
M cpp/src/qpid/broker/HeadersExchange.cpp
M cpp/src/qpid/broker/FanOutExchange.cpp
M cpp/src/qpid/broker/DirectExchange.cpp
M cpp/src/qpid/broker/TopicExchange.cpp
M cpp/src/qpid/management/ManagementExchange.cpp
M cpp/src/qpid/management/ManagementExchange.h
Each exchange type handles management stats in its own specific
way. Additionally, the constructors pass the management parent
pointer to the constructor or Exchange.
An extra layer was added to contain bindings. Instead of directly
storing bound queues, the exchanges store "bindings" which are
managable constructs.
M cpp/src/qpid/broker/Broker.cpp
Broker now explicitly enables the management agent. Also sets the
management parent (vhost) in the exchange registry.
M cpp/src/qpid/broker/Vhost.cpp
Updated constructor to be more defensive in case the management
agent has not been enabled.
M cpp/src/qpid/broker/Queue.cpp
Same constructor update as vhost. Moved accounting of dequeues
into "pop". Implemented management method handler (purge).
M cpp/src/qpid/broker/Deliverable.h
A new method was added to extract the content size of the
deliverable content (if appropriate). The method is not pure
virtual and returns zero if not overridden.
M cpp/src/qpid/broker/DeliverableMessage.h
M cpp/src/qpid/broker/TxPublish.cpp
M cpp/src/qpid/broker/DeliverableMessage.cpp
M cpp/src/qpid/broker/TxPublish.h
These derivatives of Deliverable were updated with overrides for
contenSize.
M cpp/src/qpid/management/ManagementAgent.h
M cpp/src/qpid/management/ManagementAgent.cpp
An "enable" method was added to prevent inadvertent creation of a
management agent when not desired.
Adding and deleting management objects is now protected by a
mutex.
Make sure that deleted objects get reported even if neither their
configuration nor instrumentation is changed.
M specs/management-schema.xml
Minor cosmetic updates. Additional parent linkage.
M cpp/managementgen/schema.py
M cpp/managementgen/templates/Class.cpp
Added generated code to publish schema details for methods.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@601807 13f79535-47bb-0310-9956-ffa450edef68
|