summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/tests
Commit message (Collapse)AuthorAgeFilesLines
* QPID-4191: HA removing self address breaks if a VIP is used.Alan Conway2012-08-071-5/+6
| | | | | | | | | | | | | | | | | | | Pre this patch the HA broker removed its own address from the set of cluster addresses to form the set of failover addresses. The goal was avoid useless self-connection attempts. However this was broken with a Virtual IP address where a single address is used for the entire cluster. The remove-self is not essential, self-connection attempts are prevented elsewhere. Backup brokers will be prevented from connecting to self by the same connection-observer as normal clients, and this patch addes self-connection checks ins This patch - removes the code to remove self-addresses - adds self-connection checks in ConnectionObserver - adds & reorders some log statements & comments for greater clarity. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.18@1370308 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4107 HA does not replicate alternate-exchangeAlan Conway2012-07-261-2/+49
| | | | | | | | 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/branches/0.18@1366206 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4159: HA missing messages in failover test.Alan Conway2012-07-261-2/+4
| | | | | | | | | | | | Fix test_failover_send_receive showing missing messages. With this fix, ran with -DDURATION=2 overnight with no failures. - Primary, RemoteBackup: Only report "ready" once per remote backup. - HaBroker: Put membership updates under mutex. - ReplicatingSubscription: Check for backup missing messages at the front. - ha_tests.py: Added assertion to test_priority_ring, verify primary queue as expected. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.18@1366180 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4145: HA Minor fixes to recoveryAlan Conway2012-07-191-2/+3
| | | | | | | | | - 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/branches/0.18@1363487 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4136: HA sporadic failures in ha_testsAlan Conway2012-07-171-1/+5
| | | | | | | 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/branches/0.18@1362654 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4126: HA primary times out expected backups.Alan Conway2012-07-111-7/+26
| | | | | | | | | | | | 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/branches/0.18@1360348 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4118: HA does not work with authentication and authorization.Alan Conway2012-07-111-11/+86
| | | | | | | | | - 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/branches/0.18@1360227 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4117: honour alternate-exchange option specified within x-declare for a ↵Gordon Sim2012-07-061-0/+18
| | | | | | link git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1358321 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
* 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: 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
* 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
* QPID-4078: Fix primary self-connections in long running test.Alan Conway2012-06-221-1/+1
| | | | | | | | | | | | 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-222-1/+13
| | | | | | | | | | | | 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-221-0/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1352874 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-181-1/+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-181-1/+164
| | | | 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-182-5/+5
| | | | | | | 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
* QPID-3603: Fix & clean up in HA code.Alan Conway2012-06-182-11/+18
| | | | | | | | | | - 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-182-8/+10
| | | | | | | | | | - 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
* 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
* QPID-4071: basic porting changes for solaris native compilerClifford Allan Jansen2012-06-172-0/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1351185 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4066 - Allow configuration to override the broker's federation tagTed Ross2012-06-152-4/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1350732 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: HA bug fixes around transition to ready statusAlan Conway2012-06-122-5/+9
| | | | | | | | | | - Simplify QueueGuard::firstSafe calculation. - Fix error in setting initial queues - was not checking if replicated. - Send ready status to backups. Tests hang, deadlock in opened()->RemoteBackup on primary? - Fix deadlock in QueueGuard. - Don't start guards inside ConnectionObserver::opened. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1349547 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: HA bug fixes around ha::QueueGuardAlan Conway2012-06-122-6/+7
| | | | | | | | | | - Remove nested calls between QueueGuard::dequeued and ReplicatingSubscription - ReplicatingSubscription can't start ahead of QueueGuard::getReadyPosition() - Fix QueueGuard firstSafe calcultatoin - Replace DequeueRemover with DequeueScanner in ReplicatingSubscription - Removed bad assertions in ReplicatingSubscription and QueueGuard git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1349544 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: Introduced RemoteBackup to track backup status.Alan Conway2012-06-122-24/+34
| | | | | | | | | | | The primary creates RemoteBackup object for each connected or expected backup. On first being promoted, the new primary has a RemoteBackup for each of the known backups at the time of the failure. The RemoteBackup manages queue guards for its backup and tracks it's readiness. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1349540 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: Separate QueueGuard from ReplicatingSubscription.Alan Conway2012-06-122-33/+71
| | | | | | | | | | | | | QueueGuard: implements QueueObserver to delay completion of new messages. ReplicatingSubscription: Implements subscription, sends messages & events to backup. These were previously combined as one. QueueGuard is now separated out so that it can be created before the ReplicatingSubscription, in anticipation of an expected backup connecting. This is needed for 2 reasons: - new queues must be guarded until they are backuped up. - after a failover, all queues must be guarded until backups are ready. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1349538 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix failing unit_test, updated for changes in log format.Alan Conway2012-06-121-2/+2
| | | | | | | The test had not been updated to account for changes to log format, adding [Category] to front of messages. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1349389 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3902 C++ Broker add log categoriesCharles E. Rolke2012-06-111-1/+1
| | | | | | | | svn merge --reintegrate from branch qpid/branches/qpid-3902/qpid git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1349006 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4022 C++ Broker connection limits by host ip and by user name.Charles E. Rolke2012-06-111-2/+2
| | | | | | | | | | | Rework the strategy to deny connections based on configured limits. All limits checked in one function from points in broker when the user's authenticated name is known. Denied connections receive the AMQP exception instead of getting the socket closed. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1348707 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4048 - Rafactor of TopicExchange to isolate the binding-key data structure.Ted Ross2012-06-081-6/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1348233 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: HA primary sends membership updates to backup brokers.Alan Conway2012-06-081-7/+42
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1348113 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4032 Broker ACL does not accept sub-groups in group declarationCharles E. Rolke2012-06-011-1/+29
| | | | | | | | | | | | Patch from Paul Colby and new self test demonstrating the fix. Note that this patch broke the user_realm self test. That is, a naked name like 'bob' has changed from being a username missing a domain to being a group name. The self test used to fail and still fails but now for a different reason. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1345190 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA Fix signed/unsigned warnings on RHEL 5 w/ Boost 1.33.1Stephen D. Huston2012-05-301-22/+22
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1344458 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: Close replication link when a backup broker is promoted to primary.Alan Conway2012-05-281-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1343348 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: Allow Queue::setPosition() to truncate the queue.Alan Conway2012-05-282-54/+194
| | | | | | | | | | | | In the new HA code a backup may sometimes be ahead of the new primary after a fail-over. In that case the backup truncates it's queues to the same position as the primary so it can continue replicating. (Note the assertions added to verify setPosition showed up a minor bug in the old cluster code, which was leaving messages on the cluster update queue after an update. This patch fixes the issue.) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1343347 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3767: add additional test case for link sharing.Kenneth Anthony Giusti2012-05-241-0/+113
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1342442 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Remove final vestiges of non-portable alloca().Andrew Stitcher2012-05-243-11/+9
| | | | | | Fixed unit_test changes to avoid incorrect array initialisation. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1342135 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: Renamed brokers and public-brokers to brokers-url and public-url ↵Alan Conway2012-05-221-19/+19
| | | | | | for clarity. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1341581 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: HA backups pass identifying info to primary.Alan Conway2012-05-221-0/+5
| | | | | | Pass hostname, management UUID and status in link connection arguments. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1341580 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4011: TestIsLocalHost unit_test fails with if machine name resolves to ↵Andrew Stitcher2012-05-181-0/+2
| | | | | | | | loopback address QPID-3404 - This change also adds support for IPv6 interface addresses to getLocalIpAddresses git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1340279 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4005: Eliminate "using" especially "using namespace" from header fileAndrew Stitcher2012-05-183-6/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1340276 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: HA failover test, increase timeout to avoid false failures.Alan Conway2012-05-171-4/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1339757 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4005: Eliminate "using" especially "using namespace" from header fileAndrew Stitcher2012-05-168-8/+16
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1339403 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: HA don't replicate excluseive, auto-delete, non-timeout queues.Alan Conway2012-05-161-9/+27
| | | | | | | | | Such queues don't need to be replicated because they are destroyed when as the owning session disconnects, so won't survive a failover. This eliminsates managment subscriptio queues from replication. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1339268 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: HA rename "promoting" to "recovering"Alan Conway2012-05-151-2/+2
| | | | | | Better term, a broker in failover recovers to become the primary, hence recovering. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1338898 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: Test fixes to ha_tests.pyAlan Conway2012-05-151-43/+45
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1338893 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: HA primary marks ReplicatingSubscription ready immediately if ↵Alan Conway2012-05-151-1/+0
| | | | | | queue is empty. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1338890 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: HA broker backup/primary ready checks.Alan Conway2012-05-152-57/+125
| | | | | | | | | | | | | | | | | - Introduce HA broker state machien - Inform backup queues when ready. - Incomplete implementation of backup ready check. - does not count correctly after a failover, see countUnready. - Existing replicator bridges updated out of sync with BrokerReplicator initialize. - Does not handle multi-messages responses. - Newly promoted HA primary waits for backups to be ready before accepting clients. - Uniform log prefixes for HA messages. - qpid-ha tests, call qpid-ha python code directly. - Move excluder from Backup to HaBroker, it is also used in PROMOTING. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1338889 13f79535-47bb-0310-9956-ffa450edef68