| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.18@1383229 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
| |
pavel moravec's fix -- without this, newbie broker with a replication
queue will not replicate messages received during CATCHUP.
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.18@1373004 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
trunk to 0.18.
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.18@1372597 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
Log message logic was inverted, making the message confusing.
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.18@1370394 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.18@1370313 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
This reverts commit r1367543, which was committed by accident.
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.18@1368145 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/branches/0.18@1367547 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.18@1367543 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.18@1367106 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/branches/0.18@1366206 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/branches/0.18@1366180 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.18@1365251 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.18@1365046 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/branches/0.18@1365045 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/branches/0.18@1365044 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.18@1363852 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
initialized; merged r1363498
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.18@1363839 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.18@1363489 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/branches/0.18@1363488 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/branches/0.18@1363487 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/branches/0.18@1363486 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/branches/0.18@1363485 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/branches/0.18@1362654 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/branches/0.18@1362653 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.18@1362636 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.18@1362628 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/branches/0.18@1360348 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/branches/0.18@1360228 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/branches/0.18@1360227 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
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1357849 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
- 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
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1356936 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
(r1352646)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1356280 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1355138 13f79535-47bb-0310-9956-ffa450edef68
|