summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Queue.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update from trunk r1375509 through r1450773asyncstoreKim van der Riet2013-02-281-67/+78
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1451244 13f79535-47bb-0310-9956-ffa450edef68
* WIP - async store interface working for configuration (adding and removing ↵Kim van der Riet2012-10-181-13/+79
| | | | | | queues, links and exchanges) and for enqueues and dequeues of messages. Transactions are not yet included, and hence some tests will fail. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1399662 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3858: WIP: Provisional checkin: Wiring of async store interface to ↵Kim van der Riet2012-09-241-22/+43
| | | | | | broker. Code compiles, but as persistent transactions are currentl disconnected, not all tests pass. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1389378 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3858: Updated code to include recent refactoring by Gordon (gsim) - see ↵Kim van der Riet2012-08-271-801/+492
| | | | | | QPID-4178. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1377715 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3858: Updated branch - merged from trunk r.1368650Kim van der Riet2012-08-031-39/+78
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1368910 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3858: Updated branch - merged from trunk r.1333987Kim van der Riet2012-05-041-229/+438
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1334037 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: Merge new HA foundations.Alan Conway2012-02-171-64/+84
| | | | | | | Merged from qpid-3603-7. This is basic support for the new HA approach. For information & limitations see qpid/cpp/design_docs/new-ha-design.txt. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1245587 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3824 - Additional queue statistics, posix memory statistics, and ↵Ted Ross2012-02-091-8/+138
| | | | | | broker-scope statistics git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1242526 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3481 - After queue deletion, route re-queued messages to the alternate ↵Ted Ross2012-02-021-9/+20
| | | | | | exchange. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1239728 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: Replace public broker::Consumer::position variable with get/set ↵Alan Conway2012-01-181-3/+3
| | | | | | | | function pair. Fix to r1233080 git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1233102 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: Fix spurious "exchange not found" error and debug messages.Alan Conway2012-01-181-6/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1233085 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3603: Replace public broker::Consumer::position variable with get/set ↵Alan Conway2012-01-181-5/+5
| | | | | | | | function pair. Public member variables are not good sytle. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1233080 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3549 - Improved handling of boolean configuration options in Queue.cppTed Ross2011-10-141-4/+29
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1183455 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3346: move message group feature into trunk.Kenneth Anthony Giusti2011-10-071-127/+353
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1180050 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3304: Patch from Gordon Sim plus tests which detect the condition being ↵Kim van der Riet2011-07-191-6/+1
| | | | | | solved. Added a make check-long target to the Makefile in the cpp dir to make it easier to run the long tests. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1148503 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix compile error on windows due to assigning an AtomicValue.Alan Conway2011-06-171-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1136971 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3280: further fix compilation error on windowsGordon Sim2011-06-171-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1136862 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3280: fix compilation error on windows introduced by previous commit ↵Gordon Sim2011-06-171-1/+1
| | | | | | for this JIRA git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1136852 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3280: Performance problem with TTL messages.Alan Conway2011-06-151-65/+75
| | | | | | | | | | | | When sending a large number of messages with nonzero TTLs to a cluster, overall message throughput drops by around 20-30% compared to messages with TTL 0. The previous approach to TTL in the cluster is replaced with a simpler "cluster clock". Also QueueCleaner is executed in the cluster timer, and modified to be deterministic in a cluster. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1136170 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3278: pass container for expired messages by referenceGordon Sim2011-05-261-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1127901 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3174: remove unnecessary enqueueComplete() callsKenneth Anthony Giusti2011-04-011-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1087868 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3136: Add option to disable defaults for queue threshold alertsGordon Sim2011-03-111-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1080589 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3120: Consult alternate exchange on reroute if neededGordon Sim2011-03-071-2/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1078763 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3107: If queue's alternate-exchange can't route message, try that ↵Gordon Sim2011-03-031-2/+1
| | | | | | exchange's alternate-exchange git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1076604 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: remove some dead code, rename internal method for clarityGordon Sim2011-02-281-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1075381 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3087: Fixes to store interaction changesGordon Sim2011-02-281-8/+11
| | | | | | | | | * don't create queue on recovery * ensure laternate exchange is set before creating store record for queue git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1075331 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2935: merge producer flow control (C++ broker).Kenneth Anthony Giusti2011-02-191-9/+16
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1072356 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3015: Added create and delete methods to management schema for brokerGordon Sim2011-02-181-6/+21
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1072179 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3000: Added optional delay for auto-deletionGordon Sim2011-02-151-3/+71
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1071013 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3002: Configurable threshold alerts for queuesGordon Sim2011-02-151-26/+41
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1070913 13f79535-47bb-0310-9956-ffa450edef68
* QPID-529: Priority queue implementationGordon Sim2011-02-101-219/+99
| | | | | | | | | | QPID-2104: LVQ enhancement These both required some refactoring of the Queue class to allow cleaner implementation of different types of behaviour. The in-memory storage of messages is now abstracted out behind an interface specified by qpid::broker::Messages which qpid::broker::Queue uses. Different implementations of that are available for the standard FIFO queue, priority queues and LVQ (I have also separated out the 'legacy' implementation of LVQ from the new version driven by QPID-2104). git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1069322 13f79535-47bb-0310-9956-ffa450edef68
* Revert experimental cluster code, too close to 0.8 release.Alan Conway2010-10-271-105/+32
| | | | | | | | | Reverts revisions: r1023966 "Introduce broker::Cluster interface." r1024275 "Fix compile error: outline set/getCluster fucntions on Broker." r1027210 "New cluster: core framework and initial implementation of enqueue logic." git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1028055 13f79535-47bb-0310-9956-ffa450edef68
* New cluster: core framework and initial implementation of enqueue logic.Alan Conway2010-10-251-8/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1027210 13f79535-47bb-0310-9956-ffa450edef68
* Introduce broker::Cluster interface.Alan Conway2010-10-181-27/+99
| | | | | | | | | See cpp/src/qpid/cluster/new-cluster-design.txt and new-cluster-plan.txt. qpid/cpp/src/tests/BrokerClusterCalls.cpp is a unit test that verifies the broker makes the expected calls on broker::Cluster in various situations. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1023966 13f79535-47bb-0310-9956-ffa450edef68
* Revert commits r981517 and r981435 that moved periodic purging of queues ↵Gordon Sim2010-08-111-4/+22
| | | | | | onto cluster's timer. If the timer fires during an update it causes errors; it also puts a potentially time consuming task on the clusters dispatch thread. Instead don't purge LVQs to avoid cluster inconsistencies (and more directly the assertion that aims to prevent these). git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@984357 13f79535-47bb-0310-9956-ffa450edef68
* Defer delivery of messages in cluster-unsafe context.Alan Conway2010-07-051-0/+3
| | | | | | | | | | | | | | | Messages enqueued in a cluster-safe context are synchronized across the cluster. However some messages are delivered in a cluster-unsafe context, for example raising a link established event occurs the connection thread of the establishing connection. This fix deferrs such messages by multicasting them so they can be re-delived in a cluster safe context. See https://bugzilla.redhat.com/show_bug.cgi?id=611543 git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@960681 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2691: ensure ttl adjustment uses correct expiration on cloned messageGordon Sim2010-06-241-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@957511 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2670: copy-on-write when tagging message for loop detectionGordon Sim2010-06-151-3/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@954933 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2004: Now that connections are cleaned up on shutdown, some cluster ↵Gordon Sim2010-06-021-1/+0
| | | | | | safety assertions need to be relaxed. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@950735 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2588: Prevent queue being destroyed while still in use.Gordon Sim2010-05-151-7/+40
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@944683 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2588: Ensure we do not make calls on store for a given queue once it ↵Gordon Sim2010-05-131-1/+9
| | | | | | has been destroyed git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@944016 13f79535-47bb-0310-9956-ffa450edef68
* BZ572245: Clustering can force message persistence when one node remains. ↵Kim van der Riet2010-04-281-5/+10
| | | | | | Fix for problem in which forcing persistence on one queue but not another results in an error if a message is sent to both and the message is consumed from the non-forced queue. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@939014 13f79535-47bb-0310-9956-ffa450edef68
* Code cleanup Ted Ross2010-04-231-20/+8
| | | | | | | | | | - Removed IdAllocator (it's no longer needed) - Cleaned up the calls to ManagementAgent::addObject to handle durable objects - Removed the deferred call to addObject for durable objects - Removed unneeded calls to self._checkClosed() in qmf.console.Agent git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@937516 13f79535-47bb-0310-9956-ffa450edef68
* Fix for QPID-2470 - Broker does not honour flow-to-disk policy on recoveryKim van der Riet2010-04-131-1/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@933711 13f79535-47bb-0310-9956-ffa450edef68
* Merged the changes from the qmf-devel0.7a branch back to the trunk.Ted Ross2010-03-311-1/+1
| | | | | | | | | | | | | | | | | This is a checkpoint along the QMFv2 development path. This update introduces portions of QMFv2 into the code: - The C++ agent (qpid/agent) uses QMFv2 for data and method transfer o The APIs no longer use qpid::framing::* o Consequently, boost is no longer referenced from the API headers. o Agents and Objects are now referenced by strings, not numbers. o Schema transfer still uses the QMFv1 format. - The broker-resident agent can use QMFv1 or QMFv2 based on the command line options. It defaults to QMFv1 for compatibility. - The pure-python QMF console (qmf.console) can concurrently interact with both QMFv1 and QMFv2 agents. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@929716 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2454 Messages set with a TTL expire immediately when sent on qpid ↵Carl C. Trieloff2010-03-261-0/+1
| | | | | | queues with LVQ ordering git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@928003 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2365 - Reroute messages from a queue featureTed Ross2010-01-291-8/+57
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@904654 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2347: Signal deletion of queue to active subscribers via a ↵Gordon Sim2010-01-221-1/+21
| | | | | | resource-deleted exception. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@902055 13f79535-47bb-0310-9956-ffa450edef68
* Cluster-safe assertions.Alan Conway2010-01-201-2/+13
| | | | | | | | | Assert that replicated data structures are modified in a cluster-safe context - in cluster delivery thread or during update. Assertions added to Queue.cpp and SemanticState.cpp. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@901282 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2295: Clustered + persistent broker crashes with inconsistency error.Alan Conway2010-01-181-10/+0
| | | | | | | | | | Code running in the store's timer thread was causing inconsistent changes in message allocation. This code is out-of-date, we no longer need to notify the Queue when persistent storage completes as the message is already available on the queue. Removed the out-dated code. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@900448 13f79535-47bb-0310-9956-ffa450edef68