| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
- It's better practice in a library not to rely on any globals
or static initialisation.
- This should also fix QPID-2367
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1368685 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1368300 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
Added missing throw statements that were omitted in r1367649.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1368149 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1367790 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1367776 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1367696 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
Additional error handling and logging for ConnectionObserver, Primary and
ReplicatingSubscription.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1367649 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
| |
Fix error handling so that backup brokers shut down on replication errors.
Previously replication errors were being thrown to the primary, breaking the replication
session. This would put the primary into an endless futile reconnect attempt.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1367554 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
| |
Clean up and rationalize log messages and levels.
notice: Major broker-level events: connecting, failing-over, primary active, backup ready.
info: Major queue level events: subscriptions ready, replicators created etc.
debug: Detailed replication events: accept/reject conections, details of queue replication protocol.
trace: dumping raw QMF messages
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1367231 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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/trunk@1366179 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1366020 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1365234 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1364806 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
| |
Previously TimerTask::cancel was being called with locks held in this stack trace, causing a deadlock.
Moved call to cancel outside of the lock.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1364805 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
| |
QueueGuard was taking its snapshot of the initial queue range *before* it
registered its QueueObserver. That means it was possible to have unguarded messages
between the end of the snapshot and the first position protected by the guard.
Fixed race condition in QueueRange constructor: Must call getPosition() *after*
getFront() since both may be advancing and we want to end up with a valid range
front <= back+1.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1364804 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1364648 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
| |
Previously we set status to CATCHUP when the BrokerReplicators bridge was
initialized. This is too early, it's possible for an aborted attempt to connect
to another backup to get as far as bridge init. This patch waits till we receive
the first actual message from the primary before updating status to CATCHUP.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1363520 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
initialized
A HA backup broker in a cluster rejects client connections. This was previously
done in a ConnectionObserver registered during Plugin::initialize. However that
left a window before the observer was registered when clients could
connect. This showed up as a sporadic failure of the failover test. This patch
moves the creation of the observer to Plugin::earlyInitialize, which is
guaranteed to be called before the broker starts listening for clients.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1363498 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1363088 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1363047 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
| |
Fix bug introduced by r1362584:
"QPID-4144 HA broker deadlocks on broker::QueueRegistry lock and ha::Primary lock"
Stopped setting initial queues on new (i.e. not expected) RemoteBackups.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1363014 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1362635 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1362104 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1362014 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1361733 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1361682 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1361262 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1360282 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
versions.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1360218 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1359855 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1359099 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
link
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1358321 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Encode Variants directly without translating to FieldTables
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1358274 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
| |
potentially
buggy reinterpret_casts.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1358273 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
corruption
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1358265 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1357852 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1357851 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1357850 13f79535-47bb-0310-9956-ffa450edef68
|