summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster
Commit message (Collapse)AuthorAgeFilesLines
* QPID-3858: Updated code to include recent refactoring by Gordon (gsim) - see ↵Kim van der Riet2012-08-2766-9022/+0
| | | | | | QPID-4178. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1377715 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3858: Updated branch - merged from trunk r.1368650Kim van der Riet2012-08-037-65/+93
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1368910 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3858: Updated branch - merged from trunk r.1333987Kim van der Riet2012-05-0413-22/+92
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1334037 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: Merge new HA foundations.Alan Conway2012-02-173-3/+12
| | | | | | | Merged from qpid-3603-7. This is basic support for the new HA approach. For information & limitations see qpid/cpp/design_docs/new-ha-design.txt. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1245587 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: Replace public broker::Consumer::position variable with get/set ↵Alan Conway2012-01-182-2/+2
| | | | | | | | function pair. Public member variables are not good sytle. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1233080 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3630: remove deprecated rate limiting featureKenneth Anthony Giusti2012-01-131-2/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1231221 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3438Michael Goulish2012-01-051-2/+0
| | | | | | | | | | Remove unnecessary changes to broker. The cluster code does not really need to know that the cnx error was due to auth failure. Any failure before the cnx has opened should cause the cnx to be removed from the 'local' map, or a cnx leak will occur. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1227616 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3438Michael Goulish2011-12-163-1/+17
| | | | | | | fix cluster causing cnx leak when bad credentials are given in login attempt. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1215127 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3669: Configuration option for path to watchdog executable.Alan Conway2011-12-081-6/+8
| | | | | | | | Added --watchdog-exec option to watchdog plugin to specify path to the qpidd_watchdog executable, so it can be installed in a non-standard place. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1212077 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3652: Fix cluster authentication.Alan Conway2011-12-067-8/+237
| | | | | | | | | | | | | | | | | | | Only allow brokers that authenticate as the cluster-username to join a cluster. New broker first connects to a cluster broker authenticates as the cluster-username and sends its CPG member ID to the qpid.cluster-credentials exchange. The cluster broker that subsequently acts as updater verifies that the credentials are valid before connecting to give the update. NOTE 1: If you are using an ACL, the cluster-username must be allowed to publish to the qpid.cluster-credentials exchange. E.g. in your ACL file: acl allow foo@QPID publish exchange name=qpid.cluster-credentials NOTE 2: This changes the cluster initialization protocol, you will need to restart the cluster with all new version brokers. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1210989 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3629: Changed management of credit windowGordon Sim2011-11-234-7/+12
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1205467 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3544: ACL denials while replicating exclusive queues to a newly joined ↵Alan Conway2011-10-122-1/+7
| | | | | | | | node. Disabled ACL during cluster update process. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1182451 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3346: move message group feature into trunk.Kenneth Anthony Giusti2011-10-072-16/+16
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1180050 13f79535-47bb-0310-9956-ffa450edef68
* Bug 730017, QPID-3475: Cluster authentication ignores cluster-* settings.Alan Conway2011-09-073-5/+8
| | | | | | | | | When a broker joins a cluster, it should be authenticated authenticate using the options --cluster-username, --cluster-password and --cluster-mechanism. The broker was ignoring the settings and joining the cluster even if an invalid user or password are supplied. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1166279 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Suppress logging of clock events in cluster code.Alan Conway2011-08-314-20/+34
| | | | | | | Clock events are much too frequent to log, doing so makes trace logging useless for clustered brokers. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1163766 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3384: DTX transactions - replicate suspended transactions.Alan Conway2011-08-305-25/+53
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1163347 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3384: Enable DTX transactions in a cluster.Alan Conway2011-08-256-66/+198
| | | | | | | | - Replicate DTX state to new members joining. - Use cluster timer for DTX timeouts. - Incidental: quote nulls in qpid::Msg messages (XIDs often have null characters) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1161742 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3363: prevent bind/unbind on default exchangeGordon Sim2011-08-091-1/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1155545 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3304: Patch from Gordon Sim plus tests which detect the condition being ↵Kim van der Riet2011-07-192-12/+12
| | | | | | solved. Added a make check-long target to the Makefile in the cpp dir to make it easier to run the long tests. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1148503 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: remove dead code in qpid/cpp/src/qpid/cluster/UpdateClient.cppAlan Conway2011-06-231-9/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1139036 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3280: Performance problem with TTL messages.Alan Conway2011-06-1514-193/+216
| | | | | | | | | | | | When sending a large number of messages with nonzero TTLs to a cluster, overall message throughput drops by around 20-30% compared to messages with TTL 0. The previous approach to TTL in the cluster is replaced with a simpler "cluster clock". Also QueueCleaner is executed in the cluster timer, and modified to be deterministic in a cluster. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1136170 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3284: Eliminated warnings from gcc 4.6 compilerAndrew Stitcher2011-06-071-1/+2
| | | | | | | | - Removed a bunch of variables set but not further used. - Rejigged some asserts which would now have unused vars if compiler -DNDEBUG git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1133166 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3288: "[C++] Broker sets federation link tag as empty string () when no ↵Kim van der Riet2011-06-061-2/+2
| | | | | | tag is present in the client/server properties" git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1132623 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3004: Get Clang to compile qpid c++Andrew Stitcher2011-05-092-1/+3
| | | | | | - Finish getting boost::intrusive_ptr working (may be compiler bug) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1101181 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3004: Get Clang to compile qpid c++Andrew Stitcher2011-05-091-5/+0
| | | | | | - Removed unused code causing warnings git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1101179 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3004: Get Clang to compile qpid c++Andrew Stitcher2011-05-095-9/+9
| | | | | | | - Change class/struct declarations to be consistent with the definition to avoid warnings git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1101178 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3076: enable flow control for clustered broker configurations.Kenneth Anthony Giusti2011-04-285-1/+71
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1097432 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3202: Clustered brokers shut down with "unknown connection" error.Alan Conway2011-04-134-18/+27
| | | | | | | | | | | This error is an assertion recently introduced in r1091097, the bug has probably been there for a while. Two fixes: - Connections that close before they are announced no longer send a deliver-close. - Fixed race in OutputInterceptor that sent a deliver-do-output after deliver-close. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1091790 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3198: Clustered broker should exit on unknown connection.Alan Conway2011-04-111-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1091097 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix bug in Cluster::timerDrop - calling wrong function.Alan Conway2011-04-071-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1089953 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Refactor RefCountedBuffer to be simpler and more flexible.Alan Conway2011-03-152-8/+9
| | | | | | | | | | RefCountedBuffer::pointer is replaced by a separate class BufferRef. BufferRef is independent of RefCountedBuffer, it can be used to manage other reference-counted buffer classes e.g. to implement buffer pools. BufferRef also provides beginning and end of the buffer, not just beginning. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1081631 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3105: Alternate-Exchange configuration not communicated between nodes ↵Alan Conway2011-03-021-0/+4
| | | | | | in a cluster. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1076375 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Remove misleading log messages in cluster/UpdateDataExchange.cppAlan Conway2011-03-012-11/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1076020 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: remove some dead code, rename internal method for clarityGordon Sim2011-02-282-8/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1075381 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3084: apply Alan's fix to allow io callbacks to run during a cluster ↵Kenneth Anthony Giusti2011-02-243-28/+39
| | | | | | update. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1074332 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2935: merge producer flow control (C++ broker).Kenneth Anthony Giusti2011-02-193-45/+47
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1072356 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3002: Configurable threshold alerts for queuesGordon Sim2011-02-151-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1070913 13f79535-47bb-0310-9956-ffa450edef68
* QPID-529: Priority queue implementationGordon Sim2011-02-103-0/+14
| | | | | | | | | | QPID-2104: LVQ enhancement These both required some refactoring of the Queue class to allow cleaner implementation of different types of behaviour. The in-memory storage of messages is now abstracted out behind an interface specified by qpid::broker::Messages which qpid::broker::Queue uses. Different implementations of that are available for the standard FIFO queue, priority queues and LVQ (I have also separated out the 'legacy' implementation of LVQ from the new version driven by QPID-2104). git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1069322 13f79535-47bb-0310-9956-ffa450edef68
* Added design note comment to qpid/cpp/src/qpid/cluster/ClusterTimer.cppAlan Conway2011-02-091-1/+20
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1069029 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3007: Don't hold on to consumer shared-pointers in ↵Alan Conway2011-02-012-5/+4
| | | | | | | | | | | | UpdateClient::consumerNumbering Holding shared pointers in UpdateClient::consumerNumbering can hold consumers in memory and delete them out of sync with other cluster members. Made it hold plain pointers instead since we don't actually need to ensure object liveness, we're just doing an address/number correspondence. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1066217 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2982 Bug 669452 - Creating a route and using management tools can crash ↵Alan Conway2011-01-185-6/+63
| | | | | | | | | | | | cluster members. Cluster update did not include federation link and bridge objects. Fixed update to include them. Management linkUp and linkDown events were generated only on the broker receiving the link. Suppressed these events in a cluster. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1060568 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2982: Fix discrepancy in management object and deleted object counts.Alan Conway2011-01-131-2/+1
| | | | | | | | | | | | | | | cluster_tests.test_management was showing discrepancy in management object and deleted object count after a new member update. In ManagementAgent.cpp, code to move deleted objects into pendingDeletedObjs was duplicated in 2 places. Moved duplicated code into a function moveDeletedObjectsLH() Call moveDeletedObjectsLH from clusterUpdate to correct discrepancy in object count around update. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1058664 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2982: Improved cluster/management logging and automated test for log ↵Alan Conway2011-01-075-37/+54
| | | | | | | | | | | consistency. The cluster_tests.py test_management test is augmented to compare broker logs after the test completes. Any inconsistency in the logs causes the test to fail. This check is currently disabled as it is failing due to known issues. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1056378 13f79535-47bb-0310-9956-ffa450edef68
* Bug 662765 - Management broker ID should be the same for members of a cluster.Alan Conway2010-12-154-20/+24
| | | | | | | Replicate management UUID and name to members of a cluster. See https://bugzilla.redhat.com/show_bug.cgi?id=662765. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1049566 13f79535-47bb-0310-9956-ffa450edef68
* Defer update of managaement agent to end of update process.Alan Conway2010-12-085-45/+36
| | | | | | | | | | | Move updating of the management agent to the very end of the update process, after all objects used by the update process itself have been deleted. Before the fix deletions from the update process itself (deleting the qpid.cluster-update queue and its binding to the default exchange) were sporadically appearing as extra delete messages on the updatees management agent and causing inconsistency. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1043621 13f79535-47bb-0310-9956-ffa450edef68
* Modified cluster_tests causes broker shut down with invalid-argument error.Alan Conway2010-12-016-29/+221
| | | | | | | | | | Described in https://bugzilla.redhat.com/show_bug.cgi?id=655078. The management agent's deleted-object list was not being replicated to new members joining the cluster, so management generated fewer deleted object notifications on the newer member, causing it to fail with an invalid-argument error. The list is now being replicated correctly. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1041181 13f79535-47bb-0310-9956-ffa450edef68
* Enable cluster-safe assertions on transition to CATCHUPAlan Conway2010-12-011-2/+4
| | | | | | | | | Delaying until READY was causing multiple clientConnect management events to be raised, because broker::Connection::setUserId relies on sys::isCluster to avoid producing duplicate events with cluster::Connection::announce git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1041179 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2956: cluster broker exits with "error deliveryRecord no update message."Alan Conway2010-11-222-9/+14
| | | | | | | | | The following sequence of events was causing a broker joining the cluster to shutdown: - a client acquires or browses a message with TTL set. - the message expires. - a new broker joins before the client has acknowledged the message. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1037763 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2874 Clustered broker crashes in assertion in cluster/ExpiryPolicy.cppAlan Conway2010-11-182-11/+51
| | | | | | | | | | | | | | - Added missing lock to ExpiryPolicy - 1-N mapping for expiry ID to mapping when receiving an update. - Regression test. A fan-out message (sent to multiple queues e.g. by fanout or topic exchange) is a single message on multiple queues with a single expiry ID. During an update however each instance is sent as a separate message so we need to allow 1-N mapping of expiry ID to message during update. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1036589 13f79535-47bb-0310-9956-ffa450edef68
* cluster/Numbering.h: Removed unused and incorrect function contains()Alan Conway2010-11-171-2/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1036214 13f79535-47bb-0310-9956-ffa450edef68