summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster/ClusterPlugin.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Make cluster update work out of the box without special ↵Alan Conway2010-01-061-3/+3
| | | | | | | | | authentication options." This reverts revision 885870 git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@896541 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2266: error sending update: Enqueue capacity threshold exceededAlan Conway2009-12-111-1/+0
| | | | | | | | | Fix for the problem with a test to verify that messages going to the store have the same headers and content-size for an updatee or a broker that receives the publish directly. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@889813 13f79535-47bb-0310-9956-ffa450edef68
* Make cluster update work out of the box without special authentication options.Alan Conway2009-12-011-3/+3
| | | | | | | Changed the default --cluster-mechanism to ANONYMOUS. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@885870 13f79535-47bb-0310-9956-ffa450edef68
* Support for restarting a persistent cluster.Alan Conway2009-11-241-0/+3
| | | | | | | | | | | Option --cluster-size=N: members wait for N members before recovering store. Stores marked as clean/dirty. Automatically recover from clean store on restart. Stores marked with UUID to detect errors. Not yet implemented: consistency checks, manual recovery from all dirty stores. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@883842 13f79535-47bb-0310-9956-ffa450edef68
* Added cluster option --cluster-size.Alan Conway2009-11-181-2/+1
| | | | | | | | --cluster-size=N means that during start-up the cluster waits to have N members before accepting any clients. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@881839 13f79535-47bb-0310-9956-ffa450edef68
* Fix cman integration to exit immediately on loss of quorum.Alan Conway2009-08-061-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@801740 13f79535-47bb-0310-9956-ffa450edef68
* Add directory to #includeAlan Conway2009-07-141-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@793909 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1974: Fixes (and tests) for updating lvq state to new cluster members.Gordon Sim2009-07-081-0/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@792103 13f79535-47bb-0310-9956-ffa450edef68
* Improved doOutput algorithm.Alan Conway2009-05-261-7/+2
| | | | | | | | | Simpler & more robust algorithm based on message count rather than byte size. Self-tuning, removes 2 hard-to-explain cluster options. Similar or marginally better performance. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@778896 13f79535-47bb-0310-9956-ffa450edef68
* Add missing null body check in ErrorCheckAlan Conway2009-05-201-0/+2
| | | | | | | | Make error checking optional. This is temporary until all issues with it are worked out. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@776799 13f79535-47bb-0310-9956-ffa450edef68
* Block unsafe management methods only if clustering is enabledTed Ross2009-05-181-2/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@776057 13f79535-47bb-0310-9956-ffa450edef68
* from (aconway)... added facility to disable management methods.Ted Ross2009-05-151-0/+13
| | | | | | | Use this facility to disable several methods that are unsafe for clusters when running in a cluster. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@775302 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1843 - Cleaned up the interface to the broker's internal management agent.Ted Ross2009-05-111-3/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@773570 13f79535-47bb-0310-9956-ffa450edef68
* Remove useless qpid/shared_ptr.h wrapper.Alan Conway2009-05-061-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@772294 13f79535-47bb-0310-9956-ffa450edef68
* Improved & simplified cluster output algorithm.Alan Conway2009-04-291-1/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@769914 13f79535-47bb-0310-9956-ffa450edef68
* cluster: fix delivery-property.exchange-name set on updated messages.Alan Conway2009-03-051-1/+0
| | | | | | | | | Logging improvements, useful for debugging: - qpid/SessionState.cpp: show frame bodies with command IDs. - assign cluster-wide id number to each Event. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@750456 13f79535-47bb-0310-9956-ffa450edef68
* Enable --cluster-cman option if built with libcman support.Alan Conway2009-02-121-1/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@743909 13f79535-47bb-0310-9956-ffa450edef68
* Cluster security support:Alan Conway2009-02-121-32/+19
| | | | | | | | - Set correct user ID on update connections. - Allow configuration of user, pass and mechanism used for update connections. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@743839 13f79535-47bb-0310-9956-ffa450edef68
* Cluster support for message time-to-live.Alan Conway2009-02-091-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@742774 13f79535-47bb-0310-9956-ffa450edef68
* Fix memory error in ClusterPlugin.Alan Conway2009-02-041-2/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@740849 13f79535-47bb-0310-9956-ffa450edef68
* Cluster sets recovery flag on Broker for first member in cluster.Alan Conway2009-02-041-3/+5
| | | | | | | Disable recovery from local store if the recovery flag is not set. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@740793 13f79535-47bb-0310-9956-ffa450edef68
* Changed --cluster-read-max default to 3 based on experiments.Alan Conway2009-01-291-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@738906 13f79535-47bb-0310-9956-ffa450edef68
* Remove defunct --cluster-mcast-max optionn. Alan Conway2009-01-281-7/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@738618 13f79535-47bb-0310-9956-ffa450edef68
* Change --cluster-mcast-max default to 0.Alan Conway2009-01-271-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@738200 13f79535-47bb-0310-9956-ffa450edef68
* Cluster rename: dump -> update, newbie -> joinerAlan Conway2009-01-271-13/+13
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@737971 13f79535-47bb-0310-9956-ffa450edef68
* Use special management ids for objects used in state transfer to new ↵Gordon Sim2009-01-231-0/+56
| | | | | | | | | members. This prevents the ids getting out of sync across the cluster and allows management methods to be used reliably. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@737203 13f79535-47bb-0310-9956-ffa450edef68
* Fix --cluster-mast-max: errors in last commit.Alan Conway2009-01-091-1/+0
| | | | | | | Work around problems with CPG flow control. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@733051 13f79535-47bb-0310-9956-ffa450edef68
* Added --cluster-read-max: max number of outstanding mcasts in CPG buffers.Alan Conway2009-01-091-6/+13
| | | | | | | Work around problems with CPG flow control. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@732925 13f79535-47bb-0310-9956-ffa450edef68
* cluster: handle multicast errors.Alan Conway2009-01-081-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@732768 13f79535-47bb-0310-9956-ffa450edef68
* cluster: Increase initial estimate controlling writes.Alan Conway2008-12-191-4/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@728072 13f79535-47bb-0310-9956-ffa450edef68
* Default --cluster-read-max to 0.Alan Conway2008-12-171-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@727442 13f79535-47bb-0310-9956-ffa450edef68
* Cluster: Option --cluster-read-max configures read-to-redeliver flow-control.Alan Conway2008-12-091-2/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@724857 13f79535-47bb-0310-9956-ffa450edef68
* Cluster: handle CPG flow-control conditions.Alan Conway2008-12-021-0/+1
| | | | | | | PollableQueue: allow dispatch functions to refuse dispatch. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@722614 13f79535-47bb-0310-9956-ffa450edef68
* Fix --cluster-cman option to enable cman integration.Alan Conway2008-11-191-1/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@718961 13f79535-47bb-0310-9956-ffa450edef68
* Cluster: replicate transaction state to newcomers.Alan Conway2008-11-051-3/+0
| | | | | | | | | | | | | constants.rb: generate type code constants for AMQP types. Useful with Array. framing/Array: - added some std:::vector like functions & typedefs. - use TypeCode enums, human readable ostream << operator. rubygen - fixed error in generation of exceptions for bad codes. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@711587 13f79535-47bb-0310-9956-ffa450edef68
* cluster: DumpClient replicates session MessageBuilder.Alan Conway2008-10-201-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@706381 13f79535-47bb-0310-9956-ffa450edef68
* broker: Fixed incorrect pass-by-reference of Queue::shared_ptr in several files.Alan Conway2008-10-071-2/+5
| | | | | | | | cluster: added FailoverExchange - send cluster membership to clients. client: added FailoverListener - receive cluster updates from failover exchange. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@702552 13f79535-47bb-0310-9956-ffa450edef68
* Added ClusterMap and test. Moved PollableCondition, PollableQueue to sys.Alan Conway2008-09-121-1/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@694758 13f79535-47bb-0310-9956-ffa450edef68
* Moved PollableCondition, PollableQueue and to sys. Fixed cluster shutdown ↵Alan Conway2008-09-111-6/+3
| | | | | | | | | | | | | | issues. sys/PollableCondition: is a generic mechansim to poll for non-IO events in the Poller. sys/PollableQueue: is a thread-safe queue template that can be dispatched from the Poller when there are items on the queue. It uses PollableCondition. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@694243 13f79535-47bb-0310-9956-ffa450edef68
* Cluster support for copying shared broker state to new members.Alan Conway2008-09-101-1/+2
| | | | | | | | | | | | cluster/DumpClient: Copies broker shared state to a new broker via AMQP. broker/*Registry, Queue, QueueBindings: Added iteration functions for DumpClient broker/SemanticState.cpp: Allow DumpClient to sidestep setting of delivery-properties.exchange. client/Connection.h: Added Connection::open(Url) overload. client/SessionImpl: Added send(AMQBody, FrameSet) overload for forwarding broker messages. tests/cluster_test.cpp: Added test for DumpClient copying shared state between brokers. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@693918 13f79535-47bb-0310-9956-ffa450edef68
* Refactored cluster to intercept at ConnectionCode, using sys:: interfaces ↵Alan Conway2008-08-291-22/+14
| | | | | | | | | rather than boost functions. Use framing::Operations and Invoker to dispatch cluster methods. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@690358 13f79535-47bb-0310-9956-ffa450edef68
* Integrate CPG file descriptor into broker polling.Alan Conway2008-08-111-1/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@684865 13f79535-47bb-0310-9956-ffa450edef68
* Cluster: shadow connections, fix lifecycle & valgrind issues.Alan Conway2008-07-171-27/+47
| | | | | | | | | - tests/ForkedBroker: improved broker forking, exec full qpidd. - Plugin::addFinalizer - more flexible way to shutdown plugins. - Reworked cluster extension points using boost::function. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@677471 13f79535-47bb-0310-9956-ffa450edef68
* HandlerChain: plug-in handler chain extension points. Replaces ↵Alan Conway2008-07-081-4/+9
| | | | | | | | | Handler<T>::Chain. Updated Sessoin & Connection handler chains and Cluster. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@675017 13f79535-47bb-0310-9956-ffa450edef68
* Revert un-necessary Plugin complications. Better solution for plugin ↵Alan Conway2008-07-081-28/+20
| | | | | | extension points coming up... git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@674915 13f79535-47bb-0310-9956-ffa450edef68
* Cluster prototype: handles client-initiated commands (not dequeues)Alan Conway2008-07-041-24/+16
| | | | | | | | | | | | | | | | Details - Cluster.cpp: serializes all frames thru cluster (see below) - broker/ConnectionManager: Added handler chain in front of Connection::received. - sys::Fork and ForkWithMessage - abstractions for forking with posix impl. - tests/ForkedBroker.h: test utility to fork a broker process. - broker/SignalHandler: Encapsulated signal handling from qpidd.cpp - Various minor logging & error message improvements to aid debugging. NB: current impl will not scale. It is functional working starting point so we can start testing & profiling to find the right optimizations. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@674107 13f79535-47bb-0310-9956-ffa450edef68
* Plugin framework change: single PluginFactory creates per-target Plugin ↵Alan Conway2008-06-261-21/+38
| | | | | | instances. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@672032 13f79535-47bb-0310-9956-ffa450edef68
* Bring cluster code up to date.Alan Conway2008-06-181-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@669236 13f79535-47bb-0310-9956-ffa450edef68
* Some refactoring of the 0-10 codepath (being migrated to final spec) that ↵Gordon Sim2008-02-251-1/+1
| | | | | | primarily colocates the current session and execution layers to facilitate implementing the new session layer that will now encompass this behaviour. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@630934 13f79535-47bb-0310-9956-ffa450edef68
* Cluster code fixed for changes in codebase.Alan Conway2008-02-011-1/+1
| | | | | | | | | | | - Using SessionManager::Observer - Better ais test setup, only need to be member of ais group. - Update cluster_client - SessionState holds handler chains. - Cluster frames include next handler ptr. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@617582 13f79535-47bb-0310-9956-ffa450edef68