summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Queue.cpp
Commit message (Collapse)AuthorAgeFilesLines
* handle fail setting last-node-standing with unit test, still needs system testCarl C. Trieloff2009-07-311-10/+14
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@799658 13f79535-47bb-0310-9956-ffa450edef68
* Make replication of queue events not dependant on abs queue position, but ↵Carl C. Trieloff2009-07-301-0/+4
| | | | | | rather use source queue sequence numbers. Also add in more error checking and tests git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@799435 13f79535-47bb-0310-9956-ffa450edef68
* Add directory to #includeAlan Conway2009-07-141-8/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@793909 13f79535-47bb-0310-9956-ffa450edef68
* Fix to cover this case:Carl C. Trieloff2009-07-081-0/+4
| | | | | | | | | | | | | 1. start two nodes 2. create cluster durable queue and add some messages 3. kill one node (trigger force-persistent behaviour) 4. stop and recover remaining node 5. add another node 6. kill that new node again git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@792285 13f79535-47bb-0310-9956-ffa450edef68
* fix for regression in patch & test to prevent regression againCarl C. Trieloff2009-07-081-1/+1
| | | | | | | | | | | | | | | | | Simulate this: 1. start 2 nodes 2. create cluster durable lvq 3. send a transient message to the queue 4. kill one of the nodes (to trigger force persistent behaviour)... 5. then restart it (to turn off force persistent behaviour) 6. send another transient message with same lvq key as in 3 7. kill the second node again (retrigger force persistent) 8. stop and recover the first node git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@792259 13f79535-47bb-0310-9956-ffa450edef68
* More tests and complete fix for svn791672 commit -- correct requeueCarl C. Trieloff2009-07-081-5/+11
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@792208 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1974: Fixes (and tests) for updating lvq state to new cluster members.Gordon Sim2009-07-081-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@792103 13f79535-47bb-0310-9956-ffa450edef68
* More tests and completion of fix for 791672Carl C. Trieloff2009-07-071-5/+11
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@791858 13f79535-47bb-0310-9956-ffa450edef68
* Corrected the case where message on more than one queue does not persist ↵Carl C. Trieloff2009-07-071-1/+1
| | | | | | when last node standing is enabled git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@791672 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1936: Fix potential deadlock for durable ring queueGordon Sim2009-06-231-1/+16
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@787625 13f79535-47bb-0310-9956-ffa450edef68
* Performance improvements in AggregateOutput and SemanticState.Alan Conway2009-06-161-0/+2
| | | | | | | | | | | | | | Replaced AggregateOutput hierarchy with a flat list per connection holding only the OutputTasks that are potentially active. Tasks are droped from the list as soon as they return false, and added back when they may have output. Inlined frequently-used SequenceNumber functions. Replace std::list in QueueListeners with std::vector. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@785408 13f79535-47bb-0310-9956-ffa450edef68
* Lock should be released in LVQ before dequeuing old message to prevent ↵Gordon Sim2009-06-091-0/+1
| | | | | | possible deadlocks when a store plugin is loaded. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@782979 13f79535-47bb-0310-9956-ffa450edef68
* Fix change in test logic introduced by r782075.Gordon Sim2009-06-081-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@782555 13f79535-47bb-0310-9956-ffa450edef68
* Further fix to new cluster member state transfer to fix a case where unacked ↵Gordon Sim2009-06-051-2/+7
| | | | | | messages on ring policy queue cause inconsistencies in queue state between nodes. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@782075 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1488: Ensure policy state (+ store state & mgmt stats) are accurate on ↵Gordon Sim2009-05-271-0/+13
| | | | | | | | | | | | | | newly joined nodes by informing the queue of any logically enqueued messages that are currently acquired (but not accepted or released). QPID-1873: Ensure that the various properties of a queue (durability, exclusivity etc) are correctly replicated to new cluster members. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@779183 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1843 - Cleaned up the interface to the broker's internal management agent.Ted Ross2009-05-111-9/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@773570 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1724: Allow replication events to be shared across multiple federations ↵Gordon Sim2009-03-101-0/+8
| | | | | | bridges. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@752290 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1721: Fixes for replication between clusters when new members are addedGordon Sim2009-03-091-3/+12
| | | | | | | | | | * suppress event generation during node catch up * ensure sequence counters used for duplicate detection are synchronised in both primary and dr clusters when new members join * connect queue with the event manager within queue registry rather than adapter as the latter path is not used for catchup git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@751719 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1695: Make LVQ persist durable messagesGordon Sim2009-02-261-5/+18
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@748214 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1685: Fixed ring queue policyGordon Sim2009-02-251-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@747744 13f79535-47bb-0310-9956-ffa450edef68
* Ensure that the queue depth in bytes remains accurate for LVQ. This also ↵Gordon Sim2009-02-131-1/+3
| | | | | | ensures that there are no underflow exceptions from the policy that keeps this count. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@744222 13f79535-47bb-0310-9956-ffa450edef68
* Queue::checkLvqReplace() needs to update the lvq map if it makes a ↵Gordon Sim2009-02-121-2/+11
| | | | | | | | | | replacement or the map will contain a pointer to a stale message and further updates will be lost. Also added in locking to set-/get- ReplacementMessage() in Message.cpp git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@743857 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1660: If selected consumer can't take a message, ensure others are ↵Gordon Sim2009-02-121-6/+26
| | | | | | notified of message availability. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@743694 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1611 patch from mickCarl C. Trieloff2009-01-251-3/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@737460 13f79535-47bb-0310-9956-ffa450edef68
* Use special management ids for objects used in state transfer to new ↵Gordon Sim2009-01-231-2/+6
| | | | | | | | | members. This prevents the ids getting out of sync across the cluster and allows management methods to be used reliably. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@737203 13f79535-47bb-0310-9956-ffa450edef68
* Reverted checkin r.736814 as it breaks the store recover.Kim van der Riet2009-01-231-7/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@737091 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1611: Patch from Mick Goulish to ensure queues are created in store in ↵Gordon Sim2009-01-221-0/+7
| | | | | | cluster configuration git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@736814 13f79535-47bb-0310-9956-ffa450edef68
* Fix tests broken by r735776: check payload pointer before use. Gordon Sim2009-01-201-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@735988 13f79535-47bb-0310-9956-ffa450edef68
* Put messages into LVQ FIFO if no key is specified.Carl C. Trieloff2009-01-191-7/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@735776 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1567: Initial support for asynchronous queue state replicationGordon Sim2009-01-151-4/+43
| | | | | | | | | | | | | | | * Added QueueEvents class with per broker instance * Modified qpid::broker::Queue to notify QueueEvents of enqueues and dequeues (based on configuration) * Added replication subdir containing two plugins: - an event listener that registers with QueueEvents and creates messages representing received events on a replication queue - a custom exchange type for processing messages of the format created by the listener plugin * Added new option for controlling event generation to qpid::client::QueueOptions * Added new queue option to qpid-config script for the same git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@734674 13f79535-47bb-0310-9956-ffa450edef68
* stats correction pointed out by gordonCarl C. Trieloff2009-01-031-4/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@730890 13f79535-47bb-0310-9956-ffa450edef68
* - browse correction, to update replacement message on browseCarl C. Trieloff2008-12-301-0/+8
| | | | | | | | - correct stats for lvq messages git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@730031 13f79535-47bb-0310-9956-ffa450edef68
* options name re-name to be more explicit & better testCarl C. Trieloff2008-12-171-8/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@727517 13f79535-47bb-0310-9956-ffa450edef68
* LVQ browse policy updateCarl C. Trieloff2008-12-161-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@727184 13f79535-47bb-0310-9956-ffa450edef68
* LVQ queue option for no acquireCarl C. Trieloff2008-12-161-1/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@727166 13f79535-47bb-0310-9956-ffa450edef68
* Added management accounting for transaction dequeues.Ted Ross2008-12-021-0/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@722446 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1497: Ensure policy count and size reflect transactionality of dequeuesGordon Sim2008-12-011-1/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@722200 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1280: fixed performance regression for multiple subscribers on shared queueGordon Sim2008-11-291-23/+23
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@721685 13f79535-47bb-0310-9956-ffa450edef68
* Further check in decode of policy.Gordon Sim2008-11-271-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@721174 13f79535-47bb-0310-9956-ffa450edef68
* * QPID-1488: test that policy pointer is setGordon Sim2008-11-271-4/+10
| | | | | | | | | * don't flow to disk for null store implementation * add checks for undeflow in queue policy git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@721166 13f79535-47bb-0310-9956-ffa450edef68
* Was causing cluster failures.Alan Conway2008-11-261-1/+3
| | | | | | | QPID-1488 Mick Goulish: QueuePolicy serialization fix for cluster braindump. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@720979 13f79535-47bb-0310-9956-ffa450edef68
* Ensure that callbacks are removed before IncompleteMessageList instance is ↵Gordon Sim2008-11-191-1/+0
| | | | | | | | | | deleted. (also removed commented out line of code from Queue.cpp) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@719012 13f79535-47bb-0310-9956-ffa450edef68
* Removed optimisticConsume queue option, queues always consume optimistically.Alan Conway2008-11-121-11/+0
| | | | | | | There's no benefit to non-optimistic consume. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@713521 13f79535-47bb-0310-9956-ffa450edef68
* Fix namespace reference usage to work on WindowsStephen D. Huston2008-10-301-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@709286 13f79535-47bb-0310-9956-ffa450edef68
* Replicate session state for un-acknowledged messages to new cluster members.Alan Conway2008-10-301-11/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@709242 13f79535-47bb-0310-9956-ffa450edef68
* Some fixes to the LVQ (primarily a patch from cctrieloff@redhat.com)Gordon Sim2008-10-231-19/+47
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@707446 13f79535-47bb-0310-9956-ffa450edef68
* Minor changes to provide access for cluster to replicate delivery records.Alan Conway2008-10-231-0/+27
| | | | | | | | | - broker::Queue: find message by position, set position. - broker::SemanticState: make record() public, add eachUnacked(), fix typo "NotifyEnabld" - broker::DeliveryRecord: added more public accessors git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@707406 13f79535-47bb-0310-9956-ffa450edef68
* Update to periodic purge of expired messages: check the dequeue rate to ↵Gordon Sim2008-10-141-10/+16
| | | | | | avoid interfering unnecessarily where the dequeing is sufficient to remove expired messages. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@704461 13f79535-47bb-0310-9956-ffa450edef68
* Field Table API: changed the getInt() & getString() operationsAndrew Stitcher2008-10-131-5/+5
| | | | | | | | which are inconsistent with all the other getXXX() functions to getAsString()/getAsInt() to better indicate their real function. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@704255 13f79535-47bb-0310-9956-ffa450edef68
* Reduce the scope over which lock is held during purge of expired messages.Gordon Sim2008-10-131-8/+12
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@704199 13f79535-47bb-0310-9956-ffa450edef68