summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster
Commit message (Collapse)AuthorAgeFilesLines
* Make error-check a cluster-connection control rather than a cluster control.Alan Conway2009-06-186-23/+27
| | | | | | | | | Fixes bug if an error occurs during update. As cluster controls, error-checks were being processed out of sequence with the connection data they referred to. Making them connection controls ensures they are processed in the proper order. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@786294 13f79535-47bb-0310-9956-ffa450edef68
* Correct order of args to memset(); fixes QPID-1787Stephen D. Huston2009-06-181-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@786148 13f79535-47bb-0310-9956-ffa450edef68
* Handle invalid AMPQ data to a cluster by closing the offending connection.Alan Conway2009-06-173-3/+19
| | | | | | | Prior to this fix, invalid data shut down the whole cluster. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@785788 13f79535-47bb-0310-9956-ffa450edef68
* Performance improvements in AggregateOutput and SemanticState.Alan Conway2009-06-167-19/+55
| | | | | | | | | | | | | | Replaced AggregateOutput hierarchy with a flat list per connection holding only the OutputTasks that are potentially active. Tasks are droped from the list as soon as they return false, and added back when they may have output. Inlined frequently-used SequenceNumber functions. Replace std::list in QueueListeners with std::vector. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@785408 13f79535-47bb-0310-9956-ffa450edef68
* Add flag to broker Connection so that it knows if it is aAndrew Stitcher2009-06-111-0/+1
| | | | | | | local or shadow connection git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@783789 13f79535-47bb-0310-9956-ffa450edef68
* YA Fix to the cluster behaviour of the client heartbeatAndrew Stitcher2009-06-081-1/+3
| | | | | | | (non) detection code git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@782715 13f79535-47bb-0310-9956-ffa450edef68
* Fix of the previous client heartbeat changes:Andrew Stitcher2009-06-083-0/+7
| | | | | | | | | | - Changes to the cluster code were previously missed - It's neater and more correct to reset the traffic timeout for all connection traffic, not just traffic in a session git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@782696 13f79535-47bb-0310-9956-ffa450edef68
* Further fix to new cluster member state transfer to fix a case where unacked ↵Gordon Sim2009-06-053-1/+4
| | | | | | messages on ring policy queue cause inconsistencies in queue state between nodes. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@782075 13f79535-47bb-0310-9956-ffa450edef68
* Ensure that ring queue behaves as expected when replicated to newly joined ↵Gordon Sim2009-06-031-0/+1
| | | | | | | | | | cluster node. Altered queueDurabilityPropagationToNewbie test to not use in-process broker to fix error caused by linking change. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@781454 13f79535-47bb-0310-9956-ffa450edef68
* Added missing locks in cluster code.Alan Conway2009-05-274-4/+17
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@779235 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1488: Ensure policy state (+ store state & mgmt stats) are accurate on ↵Gordon Sim2009-05-273-18/+37
| | | | | | | | | | | | | | newly joined nodes by informing the queue of any logically enqueued messages that are currently acquired (but not accepted or released). QPID-1873: Ensure that the various properties of a queue (durability, exclusivity etc) are correctly replicated to new cluster members. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@779183 13f79535-47bb-0310-9956-ffa450edef68
* Improved doOutput algorithm.Alan Conway2009-05-268-74/+50
| | | | | | | | | 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
* PollableQueue optimization - replace deque with vector.Alan Conway2009-05-256-18/+21
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@778464 13f79535-47bb-0310-9956-ffa450edef68
* Add missing null body check in ErrorCheckAlan Conway2009-05-204-11/+23
| | | | | | | | 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
* Instrumentation for measuring latencies.Alan Conway2009-05-194-6/+26
| | | | | | | Compiled out of normal builds, enable with -DQPID_LATENCY_TRACKER. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@776463 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
* Undo change from r774809.Alan Conway2009-05-153-70/+4
| | | | | | | | | | This fix is incorrect. The timer will go off in each member, and each one will send a response message which is replicated, resulting in a response from each member being enqueued rather than a single response. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@775182 13f79535-47bb-0310-9956-ffa450edef68
* Fix for unpredictable enqueues by timer-triggered management code in a cluster.Alan Conway2009-05-143-4/+138
| | | | | | | | | ManagementAgent uses Broker::getClusterMessageHandler() (if non-0) to enqueue timer-triggered messages. Cluster provides handler that enqueues via cluster multicast. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@774809 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1843 - Cleaned up the interface to the broker's internal management agent.Ted Ross2009-05-112-5/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@773570 13f79535-47bb-0310-9956-ffa450edef68
* Fix leak of Decoder map entries.Alan Conway2009-05-113-8/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@773552 13f79535-47bb-0310-9956-ffa450edef68
* Remove useless qpid/shared_ptr.h wrapper.Alan Conway2009-05-063-10/+13
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@772294 13f79535-47bb-0310-9956-ffa450edef68
* LatenchTracker: a tool for measuring latencies.Alan Conway2009-05-041-7/+14
| | | | | | | Added measurement points to cluster code. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@771392 13f79535-47bb-0310-9956-ffa450edef68
* Refactored the DispatchHandle/Poller code to remove a long standingAndrew Stitcher2009-05-042-1/+8
| | | | | | | | | | | | | | set of race conditions. - Changed Poller naming for better clarity with new semantics. - Changed Poller semantics to avoid DispatchHandle keeping so much state - Changed Poller so that it will never re-enable a Handle until Poller::wait is called again on the same thread that returned the Handle. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@771338 13f79535-47bb-0310-9956-ffa450edef68
* Remove workaround for buggy corosync headers, no longer needed.Alan Conway2009-05-011-7/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@770734 13f79535-47bb-0310-9956-ffa450edef68
* Improved & simplified cluster output algorithm.Alan Conway2009-04-2910-173/+37
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@769914 13f79535-47bb-0310-9956-ffa450edef68
* Apply PIMPL pattern to client::Completion and client::Future.Alan Conway2009-04-231-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@767896 13f79535-47bb-0310-9956-ffa450edef68
* Better logging around cpg_init, 30 second retry limit.Alan Conway2009-04-221-4/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@767663 13f79535-47bb-0310-9956-ffa450edef68
* Fix log message with incorrect level (critical should be debug).Alan Conway2009-04-161-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@765699 13f79535-47bb-0310-9956-ffa450edef68
* Removed un-used LatencyMetric hack: missed in lat commit.Alan Conway2009-04-153-7/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@765286 13f79535-47bb-0310-9956-ffa450edef68
* Cleaned up some un-necessary #include dependencies.Alan Conway2009-04-158-18/+5
| | | | | | | Removed un-used LatencyMetric hack. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@765285 13f79535-47bb-0310-9956-ffa450edef68
* Fix regression: close shadow connections belonging to brokers that have left ↵Alan Conway2009-04-142-3/+4
| | | | | | the cluster. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@764783 13f79535-47bb-0310-9956-ffa450edef68
* Fix issues when cluster is run with persistence enabled.Alan Conway2009-04-1114-74/+357
| | | | | | | | | | - Handle partial failures (e.g. due to disk error): failing brokers shut down, others continue. - Enable persistence in cluster tests. - Correct message status in DeliveryRecord updates. - Remove qpid.update queue when update complete - avoid it becoming persistent git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@764204 13f79535-47bb-0310-9956-ffa450edef68
* Cluster: fix exception handling if updater fails to connect to updatee.Alan Conway2009-04-063-12/+11
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@762370 13f79535-47bb-0310-9956-ffa450edef68
* Fix lifecycle issue in ExpiryPolicy - remove deleted messages from unexpired ↵Alan Conway2009-03-302-1/+8
| | | | | | map. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@760087 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1771: fix as applied to branch as r757807.Gordon Sim2009-03-242-3/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@757808 13f79535-47bb-0310-9956-ffa450edef68
* Fix problems buildling on gcc 4.4 and latest corosync.Alan Conway2009-03-111-7/+17
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@752600 13f79535-47bb-0310-9956-ffa450edef68
* Cluster authentication settings default to empty.Alan Conway2009-03-101-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@752146 13f79535-47bb-0310-9956-ffa450edef68
* Fix cluster TTL: replicte expiry information to newcomers.Alan Conway2009-03-099-58/+79
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@751760 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1721: Fixes for replication between clusters when new members are addedGordon Sim2009-03-091-1/+3
| | | | | | | | | | * suppress event generation during node catch up * ensure sequence counters used for duplicate detection are synchronised in both primary and dr clusters when new members join * connect queue with the event manager within queue registry rather than adapter as the latter path is not used for catchup git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@751719 13f79535-47bb-0310-9956-ffa450edef68
* Fixed race conditions in cluster.Alan Conway2009-03-0815-349/+357
| | | | | | | | Execute all cluster logic in frameDeliverQueue thread, decoding only in eventDeliverQueue thread. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@751557 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1719: Ensure management object id remain in sync across cluster.Gordon Sim2009-03-062-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@750910 13f79535-47bb-0310-9956-ffa450edef68
* Cluster: restore separate event/frame threads.Alan Conway2009-03-054-89/+70
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@750574 13f79535-47bb-0310-9956-ffa450edef68
* cluster: fix delivery-property.exchange-name set on updated messages.Alan Conway2009-03-0513-56/+111
| | | | | | | | | 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
* cluster::UpdateClient added missing error handling.Alan Conway2009-03-031-14/+17
| | | | | | | Minor improvements to failover_soak tests. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@749730 13f79535-47bb-0310-9956-ffa450edef68
* Replicate connection decoder fragments to new members.Alan Conway2009-03-0218-388/+200
| | | | | | | | | | | | Refactoring: - Merge Decoder into ConnectionMap. - Process cluster controls in event queue thread. - Use counter not pointer for connection ID, avoid re-use. - Do all processing in event queue thread to avoid races (temporary pending performance measurements) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@749473 13f79535-47bb-0310-9956-ffa450edef68
* Add lock to cluster::ConnectionMap, make it thread safe.Alan Conway2009-02-272-11/+13
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@748723 13f79535-47bb-0310-9956-ffa450edef68
* cluster: apply membership updates while in CATCHUP mode.Alan Conway2009-02-272-10/+11
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@748651 13f79535-47bb-0310-9956-ffa450edef68
* Fix to avoid spinning if an exception is thrown in cluster::PollableQueue.Alan Conway2009-02-261-0/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@748339 13f79535-47bb-0310-9956-ffa450edef68
* Remove "flow enabled" log messages.Alan Conway2009-02-262-10/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@748215 13f79535-47bb-0310-9956-ffa450edef68