summaryrefslogtreecommitdiff
path: root/qpid/cpp/src
Commit message (Collapse)AuthorAgeFilesLines
* QPID-4128: Remove use of intrusive_ptr::reset, not available in older boost ↵Alan Conway2012-07-111-1/+1
| | | | | | versions. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1360218 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4129 Cluster connection leak when auth failure. This patch closes local ↵Charles E. Rolke2012-07-111-0/+2
| | | | | | connection, releases broker::Connection, and fixes ConnectionCounter resource accounting. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1360214 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4128: HA should not use amq.failover for replication linksAlan Conway2012-07-102-2/+3
| | | | | | | | | | | HA replication links should not use the amq.failover exchange to get updates reconnect targets. amq.failover provides the client failover list, HA manages a separate failover list for brokers. Replication links should be using the broker list, and not allow it to be overwritten by amq.failover updates. Review requested for 0.18, 2 line fix. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1359879 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4126: HA primary times out expected backups.Alan Conway2012-07-107-33/+112
| | | | | | | | | | | | After a failure, the newly-promoted primary broker guards messages for each of the backups that were connected at the time of the failure. It waits for them to reconnect to the new primary before becoming active. This patch introduces a time-out so that if an expected backup fails to fail-over within the time limit, the primary will cancel the guards for that backup and carry on. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1359872 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4127: Ensure SystemInfo::isLocalHost() returns true for ::1Gordon Sim2012-07-101-1/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1359855 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4118: HA does not work with authentication and authorization.Alan Conway2012-07-096-31/+122
| | | | | | | | | - Updated test framework to use credentials - Updated BrokerReplicator to use HA identity to create configuration - Updated documentation with a HA security section. - Updated qpid-ha to take --sasl-mechanism git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1359412 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3757: clean up demux when subscription manager is destroyedGordon Sim2012-07-092-1/+12
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1359099 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4117: honour alternate-exchange option specified within x-declare for a ↵Gordon Sim2012-07-062-2/+24
| | | | | | link git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1358321 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3883: Using application headers in messages causes a very large slowdownAndrew Stitcher2012-07-065-17/+64
| | | | | | | Add subject to outgoing messsage before encoding it to save a round trip decode-encode. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1358275 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3883: Using application headers in messages causes a very large slowdownAndrew Stitcher2012-07-061-81/+224
| | | | | | Encode Variants directly without translating to FieldTables git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1358274 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Changed VariantImpl to use a union more sensibly and avoid ugly and ↵Andrew Stitcher2012-07-061-39/+33
| | | | | | | | potentially buggy reinterpret_casts. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1358273 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix previous TimerTask fix to workaround stupid windows.h symbol ↵Andrew Stitcher2012-07-062-3/+3
| | | | | | corruption git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1358265 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4085: HA review and fix lock scopes.Alan Conway2012-07-053-45/+53
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1357852 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Remove dead code.Alan Conway2012-07-056-63/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1357851 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4085: HA failover test: wait for all receivers to be connected.Alan Conway2012-07-051-12/+13
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1357850 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4085: HA add missing lock in HaBroker::getKnownBrokers()Alan Conway2012-07-051-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1357849 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4085: HA failover test: client failure: "connection not yet open"Alan Conway2012-07-051-1/+1
| | | | | | | | Sporadic failure of ha_tests.LongTests.test_failover_send_receive with client error. "connection not yet open". Fixed by replacing Exception with TransportFailure so reconnect logic will apply. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1357848 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4085: HA message-loss race condition, handling replication event after ↵Alan Conway2012-07-054-8/+18
| | | | | | | | | | | response. If the backup broker receives a declare event for a queue after receiving a queue response for the same queue, it removes the queue and replaces it with the new one from the reponse. Previously it did not remove the corresponding bridge so things fail when we attempt to create it. Corrected to remove the bridge also. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1357846 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix for potential Timer deadlock issue:Andrew Stitcher2012-07-052-11/+51
| | | | | | | | | | | | | | | | | - Previously we used a mutex to prevent cancelling a TimerTask whilst it was still executing from within its callback in another thread. This violates the principle that you shouldn't hold locks when calling the arbitrary code in a callback, and so is subject to potential deadlock problems. - This fix only works if no timer callback calls TimerTask::cancel(); this is true with the current code. And there is no good reason to call cancel() from within a callback, as cancel is the default behviour in any case - you have to specifically reschedule a recurring timer. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1357827 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Trivial fix for crash-on-exit bug.Alan Conway2012-07-043-3/+2
| | | | | | | | | Primary::~Primary() no longer resets HaBroker::observer. It is unnecessary since HaBroker unregisters the observer before Primary is destroyed, and it cause sporadic crash on exit because the HaBroker::observer can be reset before ~Primary is called. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1357370 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Don't run the IPv6 test unless the machine has global IPv6 addressesAndrew Stitcher2012-07-031-0/+13
| | | | | | | - The qpid code deliberately won't use IPv6 unless it has IPv6 configured on the machine, if it's not fully there don't try to test it. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1356946 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Removed dead code.Alan Conway2012-07-031-8/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1356936 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Typo in previous fixAndrew Stitcher2012-07-021-1/+1
| | | | | | (r1352646) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1356280 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fixed erroneous use of operator+Andrew Stitcher2012-07-011-1/+4
| | | | | | | operator+(const char*, int) was used where operator+(std::string&, std::string&) was meant git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1355847 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4021: Badly behaved clients can still clog up the brokerAndrew Stitcher2012-06-282-2/+12
| | | | | | | | | | Ameliorate the problem by only turning timeout off after receiving 3 frames from the sender. This avoids an unauthenticed client causing a DoS by just hanging before completing authentication in most cases. This is far from a good fix, but should mostly avoid the issue until it can be fixed in a neat way. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1355142 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Add missing EXTERN declarations needed by HA module.Alan Conway2012-06-281-6/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1355138 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Get rid of noisy errors from rejected connections.Alan Conway2012-06-282-6/+4
| | | | | | | | | A HA backup broker used to reject client connections by throwing out of ConnectionObserver:opened. This is not an error, but generates a lot of noise in the form of error log messages. This patch calls Connection::abort() instead of throwing, which does not leave any error log messages. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1355018 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: ha_tests.py raise exception for errors in qpid-haAlan Conway2012-06-271-2/+5
| | | | | | | Refactored qpid-ha to raise exceptions if invoked via main_except and return non-0 with an error message if invoked as a script via main git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1354717 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Make qmf/BrokerImportExport.h header publicAlan Conway2012-06-273-44/+3
| | | | | | | | | QMF code generator templates include this header so it is required to build QMF generated code against the -devel packages. Review: https://reviews.apache.org/r/5593/ git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1354712 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3902 force [Test] log category into test instanceCharles E. Rolke2012-06-261-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1354040 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix build error on windows, introduced in r1352992Alan Conway2012-06-261-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1354012 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Trivial code cleanup, removing outdated FIXME comments.Alan Conway2012-06-228-69/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1353017 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Simplify locking and remove member-update callback in HA code.Alan Conway2012-06-227-55/+60
| | | | | | | | Get rid of the separate Membership lock and put HaBroker in control of membership changes. Removes a potential deadlock which could explain some observed failures in long-running failover tests. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1353001 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Cleanup in HA code.Alan Conway2012-06-225-67/+41
| | | | | | | | - Better printed representation for queue ranges. - Removed dead code in ha module related to activated/deactivated backups. - Improved log messages in ha/BrokerReplicator.cpp git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1353000 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4078: Fix primary self-connections in long running test.Alan Conway2012-06-229-43/+46
| | | | | | | | | | | | Assert to detect self-connection were triggered in log runs of ha_tests.py test_failover_send_receive. Fix: - HaBroker close backup link before removing broker-info for outgoing link. - HaBroker removes own address from failover addresses. - Link.cpp: Skip ioThreadProcessing and maintenanceVisit on a link that is closed. - Minor improvements to log messages and comments. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1352999 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3849: Client connection breaks broker-to-broker cluster SASL ↵Alan Conway2012-06-2210-24/+53
| | | | | | | | | | | | authentication Catch-up shadow connections were not being authenticated which caused two problems: - new brokers failed to join the cluster if there was an authenticated session. - possible security loophole that would allow an intruder to gain access to a catch-up broker. All external connections are now fully authenticated, which solves both problems. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1352992 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4075: Raise delete event for autodeleted queues alsoGordon Sim2012-06-227-12/+32
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1352874 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA 0.18 release - add an EXTRA_DIST file required for windows buildsCharles E. Rolke2012-06-211-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1352646 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4082: cluster de-sync after broker restart & queue replicationAlan Conway2012-06-214-3/+7
| | | | | | | | | | | | | | | | | | | | | | Having queue state replication between 2 clusters, restarting a broker in both source+destination clusters sometimes leads to cluster de-sync. No QMF communication is involved, though symptoms are similar to the bug caused by missing propagation of QMF errors within a cluster. The bug is caused by "deliveryCount" in SemanticState::ConsumerImpl (qpid/broker/SemanticState.cpp) not being replicated to a joining cluster node during catch-up. When the elder broker in src.cluster sends session.sync() after sending 5 messages (per --ack 5 in qpid-route), the recently joiner node in src.cluster does not do so, what leads to the cluster de-sync. The patch: - adds to "consumer-state" method (see xml/cluster.xml file change) to update a new joi-ner a new property deliveryCount - updates cluster::Connection::consumerState to send deliveryCount to the method - updates cluster::Connection::consumerState to set the received deliveryCount - add two methods to broker::SemanticState::ConsumerImpl for getting and setting deliveryCount git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1352588 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4076: Patch from Andy Goldstein, don't use infinite credit on bridges ↵Gordon Sim2012-06-201-3/+3
| | | | | | with explicit acknolwedgements git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1352046 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3902 log category - force log statement to be in test category and to ↵Charles E. Rolke2012-06-191-1/+1
| | | | | | display [Test] with no external processing. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1351827 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4063: remove spurious whitespace introduced in last commit.Kenneth Anthony Giusti2012-06-182-2/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1351519 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4063: allow configuration of source queue for exchange or dynamic routesKenneth Anthony Giusti2012-06-184-12/+187
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1351518 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4072: HA use backup messages in failover.Alan Conway2012-06-188-114/+152
| | | | | | | ReplicatingSubscription syncs the primary and backup queues, and does not re-send messages that are already on the backup. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1351481 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Remove non-existing file windows/MemStat.cpp from ha.mk.Alan Conway2012-06-181-1/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1351451 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: Fix & clean up in HA code.Alan Conway2012-06-186-35/+58
| | | | | | | | | | - Fix fencepost error in getFirstSafe() - QueueGuard::attach completes messages before the ReplicatingSubscription postion - Fix minor test issues in brokertest.py and ha_test.py. - ReplicatingSubscription check for ready in acknowledge not dispatch. - HA test fix: retry wait_status retry on ConnectErrors, broker may not be up. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1351435 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: Minor cleanup and test improvements in HA code.Alan Conway2012-06-1812-41/+55
| | | | | | | | | | - Enabled 10 queue failover test - Minor cleanup in types.h - Rewording, adding comments. - Detect and reject invalid replication values. - Cleaned up some unnecessary #includes git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1351434 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Remove non-existing file HeldQueue from ha.mk.Alan Conway2012-06-181-2/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1351431 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4030: Check send rate actually achieved and report if it fails to match ↵Gordon Sim2012-06-181-4/+14
| | | | | | the desired rate git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1351386 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Added missing EXTERN declaration on broker::Link::getRemoteAddressAlan Conway2012-06-181-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1351335 13f79535-47bb-0310-9956-ffa450edef68