summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/tests
Commit message (Collapse)AuthorAgeFilesLines
* NO-JIRA: slim down some header file inclusionsAndrew Stitcher2013-01-042-0/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1428722 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4514: Remove obsolete cluster code: brokertest.pyAlan Conway2013-01-031-85/+7
| | | | | | Clean up cluster obsolete code in brokertest.py. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1428634 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Removed Timer.h out of the chain of header files included by Broker.hAndrew Stitcher2012-12-211-0/+1
| | | | | | (since that is widely included) to avoid unnecessary recompilation git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1425037 13f79535-47bb-0310-9956-ffa450edef68
* Bug 886656 - HA backup broker does not properly increment the alternate ↵Alan Conway2012-12-201-7/+28
| | | | | | | | exchange user count Set alternate exchange in-use counters correctly on backup brokers. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1424617 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Repair include guards that are absent or fail to encompass everything.Charles E. Rolke2012-12-201-0/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1424499 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4514: Remove obsolete cluster code: still more testsAlan Conway2012-12-1914-2126/+168
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1424141 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4514: Remove obsolete cluster code: more testsAlan Conway2012-12-1914-1411/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1424140 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4514: Remove obsolete cluster code: cleanup testsAlan Conway2012-12-1925-4517/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1424139 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4514: Remove obsolete cluster code: obsolete valgrind suppressions.Alan Conway2012-12-191-23/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1424138 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Removed old cluster only fileAndrew Stitcher2012-12-181-117/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1423529 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4506: Qpid HA's '--ha-public-url' option duplicates the ↵Alan Conway2012-12-142-7/+43
| | | | | | | | | | | | | | '--known-hosts-url' option but cannot be disabled Reverts the previous commit and simplifies the semantics of setting --ha-public-url and --ha-brokers-url. There is no longer any over-riding or implicit updating of values. That means you must set --ha-public-url as well as --ha-brokers-url, it will not be defaulted. Likewise if you *dont* set ha-public-url, it will remain empty, which is the use case in this bug. The defaulting was adding complexity without adding much value. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1421934 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4481: HA replication of propagated bindings can lead to incorrect ↵Alan Conway2012-12-113-0/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | configuration When using dynamic federation between two independent HA broker clusters, it is possible under certain failover scenarios for the propagated bindings on the source broker to become out-of-sync with the true state of bindings on the destination broker. How reproducible: Often -- race condition between re-establishment of federated link and the deletion of a binding on the destination broker Steps to Reproduce: 1. Start a stand-alone broker (route destination) and an HA broker (route source w/ primary and backup) 2. Configure a dynamic federated route between a destination broker and a source broker. The dynamic federation needs to utilize an existing, non-auto-delete queue on the source broker. 3. Subscribe to an auto-delete queue on the destination broker and bind the auto-delete queue to the exchange configured for the dynamic federation 4. Kill the primary source broker 5. Kill the subscription to the auto-delete queue on the destination broker 6. Promote the backup source broker to primary Actual results: With the loss of the client subscription to the auto-delete queue, the binding will be removed. If the binding is removed prior to the re-establishment of the federated link to the source broker, the unbind command will not propagate. Since the backup source broker had previously replicated the propagated binding, the binding will incorrectly remain on the source broker. Expected results: Propagated bindings should not be replicated from the primary to backups since they are transient and will be recreated when the route is re-established.))) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1420438 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4498: HA module should only initialize if requested Alan Conway2012-12-101-4/+8
| | | | | | | | | | This commit provides better control over loading the HA module. In particular it is not loaded if no ha options are set. This will prevent clashes with the old cluster plugin in configurations where the HA module is not explicitly used. HA documentation has been updated to state that HA and old cluster cannot be used together. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1419850 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix race condition in brokertest.py test harness.Alan Conway2012-12-071-1/+3
| | | | | | | Fixed a race conndition that was causing false failures of the form "expected an error". git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1418417 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3723: further refinement to the change to link against the .la files, ↵Gordon Sim2012-12-062-12/+13
| | | | | | rather than use the unqualified lib names git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1418000 13f79535-47bb-0310-9956-ffa450edef68
* QPID_4449 - Further fixes to the build files for both automake and cmake.Ted Ross2012-12-031-2/+2
| | | | | | | Fixed some build issues affecting Windows. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1416594 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4449 - Reverted much of the original change and re-implemented the fix ↵Ted Ross2012-11-303-27/+30
| | | | | | | | | | in a simpler way. The build-define _IN_QPID_BROKER is now used for modules built in the broker. The shared-pointer changes are conditionally compiled only for in-broker cases. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1415796 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3723: Applied patch from Fraser Adams for explicit linkingGordon Sim2012-11-292-12/+12
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1415137 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4449 - Fixed the API in qpid::management::Manageable to remain backward ↵Ted Ross2012-11-202-33/+33
| | | | | | compatible. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1411761 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Removed unused isLocalHost() codeAndrew Stitcher2012-11-161-16/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1410360 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4401: Revert: HA bindings for QMF exchanges not replicated.Alan Conway2012-11-141-25/+0
| | | | | | | | | | This reverts r1403946: There was a problem with this, for example if I bind a queue Q to receive broker events. On the backup, Q will receive double events: from the replicating subscription to the primary and events generated locally in the backup broker. That can cause the backup to generate "invalid position" errors and shut down. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1409243 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: avoid un-necessary warnings in ha_tests.py test_qmf_replication.Alan Conway2012-11-141-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1409242 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4428: HA add UUID tag to avoid using an out of date queue/exchange.Alan Conway2012-11-142-3/+43
| | | | | | | | | | | | | | | | | Imagine a cluster with primary A and backups B and C. A queue Q is created on A and replicated to B, C. Now A dies and B takes over as primary. Before C can connect to B, a client destroys Q and creates a new queue with the same name. When B connects it sees Q and incorrectly assumes it is the same Q that it has already replicated. Now C has an inconsistent replica of Q. The fix is to tag queues/exchanges with a UUID so a backup can tell if a queue is not the same as the one it has already replicated, even if the names are the same. This all also applies to exchanges. - Minor imrovements to printing UUIDs in a FieldTable. - Fix comparison of void Variants, added operator != git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1409241 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Suppress warning errors in ha_tests.py test_qmf_replication.Alan Conway2012-11-141-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1409225 13f79535-47bb-0310-9956-ffa450edef68
* Bug 874118 - HA Deadlock in backup broker after disconnecting from primary.Alan Conway2012-11-091-8/+16
| | | | | | | | | | | The backup broker was running ExchangeRegistry::for_each to clean up connections, but this holds the ExchangeRegistry lock and hence the deadlock. Now we copy a list of exchanges with for_each and work on it without the lock. The issue showed up for 0 timeouts only because the queue schedules non-0 timeouts to a separate timer thread. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1407661 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4394: HA QMF events out of orderAlan Conway2012-11-011-0/+57
| | | | | | | | | | | | | | | | QMF create/delete events for auto-delete queues can be generated out-of-order because they are not regulated by any lock. This creates problems for HA replication. This commit does 2 things: 1. Dispatch QMF events via a pollable queue. Events are encoded in the thread calling raiseEvent then put on a PollableQueue to be dispatched in a separate thread. This allows us to move the raiseEvent calls inside registry locks to ensure they are ordered. 2. Move queue create and delete raiseEvent calls inside the queue registry lock so they are executed in order. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1404590 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4401: HA bindings for QMF exchanges not replicated.Alan Conway2012-10-311-1/+23
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1403946 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: removed all remaining traces of unused alloca.hAndrew Stitcher2012-10-241-1/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1401831 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA - Fixed a make-dist bug by adding a missing file.Ted Ross2012-10-241-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1401721 13f79535-47bb-0310-9956-ffa450edef68
* Bug:868364 - QPID-4391: HA ignore stale responses.Alan Conway2012-10-241-3/+30
| | | | | | | | | | | | | Related issue discovered while fixing this bug: The BrokerReplicater pulls management events and query responses from different queues, there is no co-ordination between them. If a response is processed late, after create and delete events, it will incorrectly re-create the deleted queue. This patch ignores responses if we have already seen an event for the queue or exchange. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1401711 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4272: Large amounts of code are duplicated between the SSL and TCP ↵Andrew Stitcher2012-10-242-8/+6
| | | | | | | | | | | | | transports Lift Socket into an interface with concrete implementations - BSDSocket, WinSocket and SslSocket - As a side effect completely change the approach we use for platform specific handles: IOHandle now directly carries the platform handle but its real type is only exposed to platform specific code. - Modified RDMA code for the new IOHandle approach git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1401559 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3633: Make cmake the primary build tool for the cpp treeAndrew Stitcher2012-10-221-2/+6
| | | | | | Now install most of the test executables git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1400783 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: fix fluffed merge in r1400258Andrew Stitcher2012-10-221-4/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1400759 13f79535-47bb-0310-9956-ffa450edef68
* Bug 868360 - QPID-4379: HA does not properly handle expired messages.Alan Conway2012-10-191-0/+15
| | | | | | | The trunk is not affected by this bug, so this commit is just to add the regression test that proves it. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1400258 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4373 r139931 Fix self test to use proper switch name.Charles E. Rolke2012-10-181-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1399828 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4373 fix ambiguous CLI args; restore C++ broker schema propertyCharles E. Rolke2012-10-171-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1399311 13f79535-47bb-0310-9956-ffa450edef68
* MQPID-4286: QMF queries for HA replication take too long to process (Jason ↵Alan Conway2012-10-152-614/+563
| | | | | | | | | | Dillaman) Rework ManagementAgent locks, get rid of shared buffers that were points of contention. Minor log message improvements in ha code. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1398530 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4369: HA backup brokers core dump in benchmark test.Alan Conway2012-10-121-2/+0
| | | | | | | | Was seeing core dumps with QueueReplicator::queue == 0. Caused by race conditions when calling QueueReplicator::deactivate. Renamed deactivate to destroy and call it only when the broker::Queue is destroyed. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1397676 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: fix tests output of priorityGordon Sim2012-10-121-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1397507 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4349: Duplicate messages with alternate exchange.Alan Conway2012-10-111-0/+27
| | | | | | | This check-in is a test only, the issue was fixed as a side effect of the fix for QPID-4350. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1397295 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix spelling if --link-maintenace-interval option and add ↵Alan Conway2012-10-111-1/+1
| | | | | | | | descriptive text. Also added description for --link-heartbeat-interval git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1397253 13f79535-47bb-0310-9956-ffa450edef68
* Bug 860701 - QPID-4350: HA handle auto-delete queuesAlan Conway2012-10-113-9/+88
| | | | | | | Subscribed auto-delete queues are deleted by the backup. Timed auto-delete queues are deleted after the timeout. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1397243 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4360: Fix test bug: Non-ready HA broker can be incorrectly promoted to ↵Alan Conway2012-10-092-13/+17
| | | | | | | | | | | primary. Test test_delete_missing_response was failing with "cluster active, cannot promote". - Fixed test bug: "fake" primary triggered "cannot promote". - Backup: always create QueueReplicator if not already existing. - Terminology change: "initial" queues -> "catch-up" queues. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1396244 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4360: Non-ready HA broker can be incorrectly promoted to primaryAlan Conway2012-10-051-0/+14
| | | | | | | | | | | | A joining broker now attempts to contact all known members of the cluster and check their status. If any brokers are in a state other than "joining" the broker will refuse to promote. This will allow rgmanager to continue to try addresses till it finds a ready brokers. Note this reqiures ha-brokers-url to be a list of all known brokers, not a virtual IP. ha-public-url can still be a VIP. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1394706 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4285: HA backups continuously disconnect / re-sync after attempting to ↵Alan Conway2012-10-021-1/+19
| | | | | | | | | | | | | replicate a deleted queue Fixes queues getting into a partially deleted state: previously when a broker was promoted, it did not clean up it's QueueReplicators. The QueueReplicators keep a shared_ptr to the Queue so this kept Queues in memory after they were destroyed. It also kept them in QMF, since the management object is unregistered in the destructor. This patch cleans up properly on promotion. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1393201 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4285: HA backups continuously disconnect / re-sync after attempting to ↵Alan Conway2012-10-022-0/+26
| | | | | | | | | | | | | | | | replicate a deleted queue. (Based on patch by Jason Dillama) This does not directly tackle the origin of the problem but extends Jasons's patch since it addresses something we had to fix anyway: "leaking" queues and exchanges. It does 2 things. 1. enabled hideDeletedError on all subscription objects used by HA This suppress the troublesome exception with a harmless no-op 2. Delete queues/exchanges missing from responses (based on Jasons patch) Fix the "leak" of queues and exchanges possible when an object replicated to a backup is deleted from the newn primary before the backup connects. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1393089 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix logging in ha_tests.pyAlan Conway2012-09-272-171/+200
| | | | | | | | | | In order to suppress unwanted warnings from certain test, the ha_test framework was actually turning off all python logging. This patch selectively turns off wanrnings in specific code regions and then restores the configured logging level. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1391232 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4325: HA Starting from persistent storeAlan Conway2012-09-255-223/+395
| | | | | | | | | | | When re-starting a persistent HA cluster, the broker that becomes primary should keep its store data while all the backup brokers should discard their store data and catch up from the primary. Backups cannot simply use their own stores because sequence numbers of stored messages will not match on all brokers. The backup erases individual queues and exchanges as the catch-up process gets to them. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1390123 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Add missing initializers on ha::BrokerInfo contstructor.Alan Conway2012-09-241-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1389542 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4322: HA sporadic failure in ha_tests Alan Conway2012-09-191-1/+1
| | | | | | | Added Queue::getRange to get range atomically, fixes races around getting the front and backup of the range as two separate operations. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1387785 13f79535-47bb-0310-9956-ffa450edef68