| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There were replication errors because with stand-alone replication an IdSetter
was not set on the original queue until queue replication was set up. Any
messages on the queue *before* replication was setup had 0 replication IDs. When
one of those messages was dequeued on the source queue, an incorrect message was
dequeued on the replica queue.
The fix is to add an IdSetter to every queue when replication is enabled.
The unit test ha_tests.ReplicationTests.test_standalone_queue_replica has been
updated to test for this issue.
This commit also has some general tidy-up work around IdSetter and QueueSnapshot.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1550819 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
| |
Refactor of queue observers to use the broker::Observers base class. Simplifies Queue code
and makes it more consistent with other observers (BrokerObservers, ConnectionObservers.)
Modified Observers base class to allow identical locking behaviour to previous
impementation.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1550818 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1550507 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1550190 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1549993 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
alt-exchange
The old code ran auto-delete on the backup on disconnect. This reroutes
messages onto the alt queue with incorrect replication IDs from the original
queue, and then replicates duplicate rerouted messages from the primary. The
solution is to process auto deletes on the new primary and let them replicate to
the backups.
- Move all auto-delete logic into QueueReplicator
- Primary process auto-delete on QueueReplicator as part of promotion.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1549844 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1549638 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
Posix Path::IsAbsolute() function was checking for windows-style paths.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1548596 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
Fix typo in previous commit.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1548322 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1548317 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
| |
On windows, acl-file was not recognizing drive-prefixed paths (e.g. c:\foo)
as absolute and was trying to interpret them relative to the brokers data-dir.
This commit fixes the problem and adds a general-purpose Path class that can be
a collection point for any other path-related portability problems that come up.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1548279 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Most failures caused by a bug in NullAuthenticator, it was not adding the
default realm to user IDs that didn't already have a realm. This fixes 20 of the
23 failures for this test, 3 tests are still failing:
16: acl.ACLTests.test_connection_limits_by_ip_address ....................... fail
16: acl.ACLTests.test_connection_limits_cli_sets_all ........................ fail
16: acl.ACLTests.test_queue_per_user_quota .................................. fail
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1548268 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1548180 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1548177 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
longer restricted to SASL EXTERNAL
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1547958 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1547951 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
could not handle uninitialized journal files, which exist prior to the first write of a record to the journal. The recovery now correctly utilizes the uninitialized file.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1547921 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
operations on LinearFileController resulted in all JournalFile objects being deleted before they could be recycled to the EFP.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1547641 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
Implemented the Alder-32 algorithm to check every record from the start of the header to the start of the record tail. Upon recovery, the recovered record checksum is compared to the record tail checksum. This should detect the condition where a multi-page record may have its header and tail written, but one or more of its inbetween pages may not be fully written.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1547601 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1547497 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1547496 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1547495 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1546952 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1546628 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
reissue credit correctly on reconnect
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1546415 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1546398 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
implements the empty file check for trailing empty files.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1545563 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
attempt
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1544602 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
| |
Windows clients occasionally crash on exit handling simultaneous
eof() and close() on separate threads.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1543935 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1543922 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix for a race condition: previously, BrokerReplicator created a separate
ConnectionObserver object to forward connection events to it. However the
Observers locking is such that it is possible for an event to arrive *after*
calling Observers::remove (Observers copies the pointers and delivers events
outside its lock.) This meant that it was possible for a call to
BrokerReplicator::disconnect to be made after the BrokerReplicator was deleted.
The fix is to combine BrokerReplicator and BrokerReplicator::ConnectionObserver
into a single object with one lifetime that will last until it is removed from
both the ExchangeRegistry and the ConnectionObservers.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1543893 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
outstanding issues
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1543504 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
Creating a queue with invalid settings results in no queue but only its management object exists
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1543449 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1543123 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1543093 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1543019 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
communicated
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1543018 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
ampq.cmake installed the file in \lib and not in \bin with the rest of the dlls.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1542880 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
structure
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1542385 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1542337 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1542066 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
of a release not too different from 0.6rc1
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1542010 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1541766 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1541765 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
Using getopt with long options is a gnu extension and so best avoided
for portability reasons.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1541764 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
As bash isn't specified by POSIX its location is variable.
Specifically under BSDs it isn't found in /bin/bash.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1541763 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
this makes it much easier not to call the python testing code
when it isn't available
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1541241 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The test was failing due to incorrect handling of the transaction lifecycle:
- Failing to handle the automatic rollback of the empty TX at session close.
- Deleting the tx-q before all backups were finished with it.
The fixes include
- Make tx-q auto-delete, deleted only when the TxReplicators cancel their subscriptions.
- Use markInUse/releaseFromUse on the primary to keep the tx-q until the primary is done.
- Count TxReplicators for auto-delete (unlike normal QueueReplicators)
- Improved error handling and log messages
- Handle *incoming* exceptions on a federation link by passing to ErrorListener
- QueueReplicator catches incoming not-found and resource-deleted exceptions
- close the backup bridge, handle race between subscribe and delete.
- Simplify QueueSnapshots, remove need for snapshot map.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1541146 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
| |
Discovered while working on QPID-5275: ExchangeRegistry::registerExchange was
not taking the write lock. Caused sporadic core dumps in ha_tests.py,
tx_block_threads.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1541145 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
Discovered while working on QPID-5275: SecretsMap in SaslFactory.cpp was thread
unsafe, added a mutex.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1541144 13f79535-47bb-0310-9956-ffa450edef68
|