| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
per-queue EFPs: WIP, but mostly complete. Needs additional testing. It is now possible to add queues which use a partition other than the broker default by using qpid-config --durable together with --efp--partition-num and/or --efp-pool-file-size
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1649081 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646849 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The crash appears to be a race condition in async completion exposed by the HA
TX code code as follows:
1. Message received and placed on tx-replication queue, completion delayed till backups ack.
Completion count goes up for each backup then down as each backup acks.
2. Prepare received, message placed on primary's local persistent queue.
Completion count goes up one then down one for local store completion (null store in this case).
The race is something like this:
- last backup ack arrives (on backup IO thread) and drops completion count to 0.
- prepare arrives (on client thread) null store bumps count to 1 and immediately drops to 0.
- both threads try to invoke the completion callback, one deletes it while the other is still invoking.
The old completion logic assumed that only one thread can see the atomic counter
go to 0. It does not handle the count going to 0 in one thread and concurrently
being increased and decreased back to 0 in another. This case is introduced by
HA transactions because the same message is put onto a tx-replication queue and
then put again onto another persistent local queue, so there are two cycles of
completion.
The new logic fixes this only one call to completion callback is possible in all cases.
Also fixed missing lock in ha/Primary.cpp.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646618 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646354 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646261 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646260 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
than binary data
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646259 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646258 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646257 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646256 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
should override default.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646255 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
broker (better fix)
This is a simpler and better fix based on the discussion at:
http://qpid.2158936.n2.nabble.com/Re-svn-commit-r1642720-in-qpid-trunk-qpid-cpp-src-qpid-messaging-amqp-AddressHelper-h-ConnectionConth-td7617083.html
The changes are all client-side:
- A browsing address is unreliable by default. An explicit reliability setting is respected.
- The client session does not record pre-settled deliveries in it's unacked list.
So by default:
- Browsing links are unreliable. Broker sends pre-settled, messages are not recorded in unacked list.
- The user is not required to acknowledge browsed messages for proper clean-up.
- Calling acknowledge() for a browsed message is a no-op, not an error.
If the user explicitly requests a reliable browsing link, then we behave exactly as before.
I can't see any value in doing this with qpidd but maybe with some other broker there might be
a use for being able to control the accept of browsed messages.
This does affect non-browsing, unreliable links but it is an improvement.
Settling a pre-settled messages is a no-op, so there is no point in recording
pre-settled messages in the unacked list since we do nothing when they are
acknoweldged.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1643276 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
| |
on broker."
This reverts commit 78d7f0727227f13da826180b2fe98f799160a93a.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1643275 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1642731 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
| |
The problem was that messages for browsing receivers were being recorded on the
client SessionContext unacked list. This is incorrect since you don't ack
browsed messages. They remained on the list after the browsing receiver was
closed, and every subsequent call to acknowledge() on the client would attempt
to ack these messages for a no-longer-existing link. Fix is to not record
browsed messages.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1642720 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
| |
* Pollable queue breaks when client does not process whole batch.
* QueueCleaner must not reschedule same task multiple times.
* QueueCleaner breaks out of batch processing on wall clock time interval.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1642681 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
Recent store changes broke the use of a relative directory as data-dir.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1642246 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1641689 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1641658 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
The activemq broker appears not to respect the AMQP drain flag, so calling fetch() on
an empty queue hangs. Use get() with a timeout instead to drain the queues.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1641027 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
pointer.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1641014 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1640975 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1640826 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1640755 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
new file in EFP
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1640357 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1639493 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
per-queue EFPs. Modified previous code and added new code to allow a seamless updrade of the modified EFP and journal directory structure from the old to the new. The "efp" directory is removed from the directory tree containing the EFPs in a partition and all directories are moved up a level. The journal files are replaced with symlinks as they are used and replaced into the EFP.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1637985 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1637822 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1637821 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1637820 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1637402 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
--sasl-config; this is a patch from Ernie Allen
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1637122 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
install dir
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1636981 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1636848 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
per-queue EFPs. This is the first part of resolving this issue and changes the journal directory structure to use symlinks instead of moving the actual files. This opens the way to having files from multiple partitions in the same journal. Other small improvements and tidy-ups also included.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1636598 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1635316 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1634961 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
(single txn per session, single session per txn to begin with)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1634598 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1634597 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1634596 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
itself a described type. Required for sending transaction control messages.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1634595 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
sasl support libs are not available
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1633904 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
queue (2/2)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1633817 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
queue
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1633798 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1633665 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1633146 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
from empty EFP
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1632504 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
acquires counters
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1631396 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1631360 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
| |
Add qpidtypes to hello_world and hello_xml example link library list so that
users can execute any Messaging function straight away.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1630945 13f79535-47bb-0310-9956-ffa450edef68
|