summaryrefslogtreecommitdiff
path: root/qpid/cpp
Commit message (Collapse)AuthorAgeFilesLines
* QPID-4145: HA Minor fixes to recovery Alan Conway2012-07-177-27/+44
| | | | | | | | | - Demote timed-out backups from ready to catch-up. - Don't cancel connected backups on timeout, only disconnected ones. - Don't allow promotion of a catch-up broker. - Minor logging improvement. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1362658 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Added missing EXTERN statements causing build breakage.Alan Conway2012-07-171-2/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1362635 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4144 HA broker deadlocks on broker::QueueRegistry lock and ha::Primary lockAlan Conway2012-07-175-52/+44
| | | | | | | | | | | | Running tests repeatedly, the broker deadlocked with the attached stack trace. The problem call sequences are: 1. QueueRegistry::destroy takes QueuerRegistry lock > ConfigurationObserver::queueDestroy > ha::Primary::queueDestroy takes Primary lock. 2. ConnectionObserver::opened cals Primary::opened lock> RemoteBackup>getQueues().eachQueue This patch breaks the deadlock at both ends: QueueRegistry no longer holds the lock across the observer call and Primary does not hold the lock across eachQueue. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1362584 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix typo in make files.Alan Conway2012-07-161-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1362104 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3892 add missing fileCharles E. Rolke2012-07-161-0/+89
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1362014 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4107 r1361334 type in file nameCharles E. Rolke2012-07-151-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1361733 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4107 r1361334 typo in file nameCharles E. Rolke2012-07-151-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1361682 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3892 C++ broker add routing key wildcard support to Acl 'publish ↵Charles E. Rolke2012-07-157-58/+215
| | | | | | | | | | | | | exchange' lookups. Although this patch does not address the original issue's regex request it provides the desired functionality in a more comprehensive manner. * Acl publish exchange rules may specify routing keys using the topic exchange syntax with '*' and '#' wildcard match tokens. * Acl lookups hook in to the broker's topic exchange key match code to perform the wildcard match. * Acl rules written using the old Acl wildcard syntax (with a single trailing '*') will continue to work the same as before. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1361678 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4138: HA sporadic failure in ha_testsAlan Conway2012-07-135-2/+8
| | | | | | | | | This was another test issue: trace logging had been left on by mistake, which was slowing down the tests to the point they were hitting test time-outs. Also in this patch: Include symbolic satus in membership update log message. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1361393 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4079 log categories for correlation. Design description.Charles E. Rolke2012-07-131-0/+112
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1361353 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4107 HA does not replicate alternate-exchangeAlan Conway2012-07-136-55/+244
| | | | | | | | Set alternate exchange on replicated queues and exchanges. If the exchange is available, set it immediately. Otherwise remember what needs to be set so it can be set when the exchange becomes available. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1361334 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4136: HA sporadic failures in ha_testsAlan Conway2012-07-132-2/+6
| | | | | | | Caused by a test bug, default timeout was too short. Fixed the test to set a high timeout and increased default timeout. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1361323 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4133: (Jason Dillaman) Non-responsive peer in federated link can result ↵Alan Conway2012-07-131-1/+3
| | | | | | | | in entire cluster shutdown Fix is to not start link processing until the connection is open. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1361321 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4079 log entries track managed object life cyclesCharles E. Rolke2012-07-1312-14/+120
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1361262 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fixed compile error on RHEL5: double doesn't convert to int64_tAlan Conway2012-07-111-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1360282 13f79535-47bb-0310-9956-ffa450edef68
* 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-4111: Move trunk version numbers to 0.19Justin Ross2012-07-091-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1359235 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-066-17/+66
| | | | | | | 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-4101: Fixes building the Ruby language bindings for Ruby 1.9Andrew Stitcher2012-07-053-8/+7
| | | | | | Applied lightly modified patch from Darryl Pierce git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1357945 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 struct/class warningAndrew Stitcher2012-07-011-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1355848 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-2/+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