summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Queue.cpp
Commit message (Collapse)AuthorAgeFilesLines
* QPID-4976: support standard lifetime policiesGordon Sim2013-07-101-77/+165
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1501768 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4712: authorisation for AMQP 1.0 connectionsGordon Sim2013-06-251-6/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1496466 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: remove unused codeGordon Sim2013-06-191-31/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1494646 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4905: Stopped broker::Broker needing to refer to broker::ConnectionAndrew Stitcher2013-06-191-1/+1
| | | | | | - Also removed ConnectionToken which didn't add anything over OwnershipToken git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1494640 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4348: HA Use independent sequence numbers for identifying messagesAlan Conway2013-06-171-3/+5
| | | | | | | | | | | | | | | Previously HA code used queue sequence numbers to identify messasges. This assumes that message sequence is identical on primary and backup. Implementing new features (for example transactions) requires that we tolerate ordering differences between primary and backups. This patch introduces a new, queue-scoped HA sequence number managed by the HA plugin. The HA ID is set *before* the message is enqueued and assigned a queue sequence number. This means it is possible to identify messages before they are enqueued, e.g. messages in an open transaction. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1493771 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4886: Pass non-const reference to Message in QueueObserver functions.Alan Conway2013-05-291-1/+3
| | | | | | | Instead of modifying QueueObserver, a new class MessageInterceptor was introduced to allow messages to be modified. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1487579 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4859: ensure flush is called on journalsGordon Sim2013-05-241-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1485909 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4650: C++ Broker method to redirect messages between two queues.Charles E. Rolke2013-05-231-1/+27
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1485836 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4591: patch from Ernie Allen to add queue sequence number to messagesGordon Sim2013-05-211-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1485001 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3189: correct calculated queue depth if enqueue failsGordon Sim2013-05-081-1/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1480389 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4706: allow selectors to be used on links from an exchangeGordon Sim2013-05-081-2/+23
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1480239 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4692 ACL queue quotas did not count autodelete - patch by Ernie AllenCharles E. Rolke2013-04-021-0/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1463649 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4630: HA Fix starting from persistent store.Andrew Stitcher2013-03-081-1/+3
| | | | | | | Reengineered code for converting a Variant to a FieldValue by reinstating code previously removed. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1454435 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4630: HA Fix starting from persistent store.Alan Conway2013-03-071-1/+3
| | | | | | | | | | This was implemented in r1390123 but broken by subsequent changes. When re-starting a persistent HA cluster, the broker that becomes primary keeps its recovered queues while backup brokers discard their recovered queues and catch up from the primary. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1453971 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4555: Fix handling of no-credit consumers in Queue::getNextMessage.Alan Conway2013-01-311-1/+3
| | | | | | | This was discovered while investigating QPID-4555 but could affect any consumer using bounded credt. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1441163 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Removed Timer.h out of the chain of header files included by Broker.hAndrew Stitcher2012-12-211-0/+1
| | | | | | (since that is widely included) to avoid unnecessary recompilation git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1425037 13f79535-47bb-0310-9956-ffa450edef68
* Bug 886656 - HA backup broker does not properly increment the alternate ↵Alan Conway2012-12-201-0/+1
| | | | | | | | exchange user count Set alternate exchange in-use counters correctly on backup brokers. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1424617 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4514: Remove obsolete cluster code: Queue, Semanticstate, SessionHandlerAlan Conway2012-12-191-9/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1424133 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4514: Remove obsolete cluster code: DtxManager, more Broker, ↵Alan Conway2012-12-191-3/+0
| | | | | | Connection, Link. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1424126 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4514: Remove obsolete cluster code: getClusterTimer.Alan Conway2012-12-191-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1424120 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4449 - Reverted much of the original change and re-implemented the fix ↵Ted Ross2012-11-301-5/+5
| | | | | | | | | | in a simpler way. The build-define _IN_QPID_BROKER is now used for modules built in the broker. The shared-pointer changes are conditionally compiled only for in-broker cases. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1415796 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4449 - Fixed the API in qpid::management::Manageable to remain backward ↵Ted Ross2012-11-201-5/+5
| | | | | | compatible. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1411761 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4428: HA add UUID tag to avoid using an out of date queue/exchange.Alan Conway2012-11-141-6/+7
| | | | | | | | | | | | | | | | | Imagine a cluster with primary A and backups B and C. A queue Q is created on A and replicated to B, C. Now A dies and B takes over as primary. Before C can connect to B, a client destroys Q and creates a new queue with the same name. When B connects it sees Q and incorrectly assumes it is the same Q that it has already replicated. Now C has an inconsistent replica of Q. The fix is to tag queues/exchanges with a UUID so a backup can tell if a queue is not the same as the one it has already replicated, even if the names are the same. This all also applies to exchanges. - Minor imrovements to printing UUIDs in a FieldTable. - Fix comparison of void Variants, added operator != git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1409241 13f79535-47bb-0310-9956-ffa450edef68
* Bug 867030 - QPID-4374: Reduce contention on Queue::messageLock (Jason Dillaman)Alan Conway2012-10-181-5/+5
| | | | | | Introduce a separate lock for Queue::UsageBarrier. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1399812 13f79535-47bb-0310-9956-ffa450edef68
* MQPID-4286: QMF queries for HA replication take too long to process (Jason ↵Alan Conway2012-10-151-19/+18
| | | | | | | | | | Dillaman) Rework ManagementAgent locks, get rid of shared buffers that were points of contention. Minor log message improvements in ha code. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1398530 13f79535-47bb-0310-9956-ffa450edef68
* Bug 860701 - QPID-4350: HA handle auto-delete queuesAlan Conway2012-10-111-0/+2
| | | | | | | Subscribed auto-delete queues are deleted by the backup. Timed auto-delete queues are deleted after the timeout. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1397243 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4285: HA backups continuously disconnect / re-sync after attempting to ↵Alan Conway2012-10-021-4/+4
| | | | | | | | | | | | | | | | replicate a deleted queue. (Based on patch by Jason Dillama) This does not directly tackle the origin of the problem but extends Jasons's patch since it addresses something we had to fix anyway: "leaking" queues and exchanges. It does 2 things. 1. enabled hideDeletedError on all subscription objects used by HA This suppress the troublesome exception with a harmless no-op 2. Delete queues/exchanges missing from responses (based on Jasons patch) Fix the "leak" of queues and exchanges possible when an object replicated to a backup is deleted from the newn primary before the backup connects. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1393089 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4322: HA sporadic failure in ha_tests Alan Conway2012-09-191-0/+10
| | | | | | | Added Queue::getRange to get range atomically, fixes races around getting the front and backup of the range as two separate operations. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1387785 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4290: HA auto-delete queues are not deleted (Author: Andy Goldstein)Alan Conway2012-09-171-10/+18
| | | | | | | ReplicatingSubscription was being counted as a consumer and preventing auto-delete queues from being deleted. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1386672 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Removed now unused cluster specific ClusterSafe code.Andrew Stitcher2012-09-131-6/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1384555 13f79535-47bb-0310-9956-ffa450edef68
* Jira QPID-4142Michael Goulish2012-09-101-0/+9
| | | | | | | | browse-only queues git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1382991 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4178: broker refactoringGordon Sim2012-08-101-801/+492
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1371676 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4179: Cluster does not replicate exclusive status of queues.Alan Conway2012-07-311-1/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1367776 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4079 log entries track managed object life cyclesCharles E. Rolke2012-07-131-0/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1361262 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4075: Raise delete event for autodeleted queues alsoGordon Sim2012-06-221-7/+13
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1352874 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4065 - Remove the message's trace list during Queue::reRouteTed Ross2012-06-131-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1350003 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: Lock in Queue::getPosition.Alan Conway2012-06-121-0/+1
| | | | | | Needed to ensure serialization of position changes with setObservers for ha plugin. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1349546 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: Allow Queue::setPosition() to truncate the queue.Alan Conway2012-05-281-30/+55
| | | | | | | | | | | | 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/qpid@1343347 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: fix some defects found by Coverity static analysis scan of C++ codeKen Giusti2012-05-251-1/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1342742 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4005: Eliminate "using" especially "using namespace" from header fileAndrew Stitcher2012-05-161-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1339403 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3970: Check alternate exchange actually exists before proceeding with ↵Gordon Sim2012-04-231-2/+7
| | | | | | reroute request git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1329438 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3950: Allow browsing of queues with exclusive subscriptionsAlan Conway2012-04-171-8/+20
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1327135 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3921: C++ header files need tidyupAndrew Stitcher2012-03-281-1/+3
| | | | | | | | | | Tidied up header use of FieldValue.h - Removed all unnecessary includes of FieldValue.h from other header files especially Array.h. (This avoids the world recompiling when working on FieldValue!) - Corrected up header guards in Array.h git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1306595 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3915: Add missing newlinesJustin Ross2012-03-261-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1305371 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Added newlines to the end of some filesAndrew Stitcher2012-03-231-1/+1
| | | | | | | - Accidentally missed from previous namespace checkin and causes compile warnings. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1304467 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3890: merge Queue lock scope reduction performance tweaks into trunkKen Giusti2012-03-221-198/+316
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1303815 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3896: assign each queue auto deletion task a unique name.Ken Giusti2012-03-201-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1303035 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2082: Put all of the C++ code in the source tree into a namespaceAndrew Stitcher2012-03-201-1/+5
| | | | | | - This change moves the remaining non-example code in a namespace git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1302988 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3883: Using application headers in messages causes a very large slowdownAndrew Stitcher2012-03-051-1/+1
| | | | | | | | | | Change Exchange route interface not to require a fieldtable - Exchanges that actually use the fieldtable for routing need to extract it directly from the message themselves. This avoids the need to extract the fieldtable from the message unnecessarily. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1297183 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3875: update txn and flow-to-disk countersKen Giusti2012-03-021-20/+38
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1296450 13f79535-47bb-0310-9956-ffa450edef68