----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/12249/#review22765 -----------------------------------------------------------
/trunk/qpid/cpp/src/qpid/amqp/descriptors.h <https://reviews.apache.org/r/12249/#comment46456> Why apache.org? I thought these were AMQP policies. /trunk/qpid/cpp/src/qpid/broker/Queue.h <https://reviews.apache.org/r/12249/#comment46460> Needs a comment describing the purpose of the class. /trunk/qpid/cpp/src/qpid/broker/Queue.h <https://reviews.apache.org/r/12249/#comment46461> Needs a brief comment describing the purpose of the class. /trunk/qpid/cpp/src/qpid/broker/Queue.h <https://reviews.apache.org/r/12249/#comment46458> This and isEmpty should take a ScopedLock& argument, they are called with the lock held. /trunk/qpid/cpp/src/qpid/broker/Queue.h <https://reviews.apache.org/r/12249/#comment46459> Remove dead code. /trunk/qpid/cpp/src/qpid/broker/Queue.cpp <https://reviews.apache.org/r/12249/#comment46462> Naming is not clear, inUse looks like a question and release is very general. Perhaps addUser() removeUser() ? /trunk/qpid/cpp/src/qpid/broker/Queue.cpp <https://reviews.apache.org/r/12249/#comment46463> Can we convert the policy into an integer code during setup and do a switch here rather than if/elif? This is on the critical path. /trunk/qpid/cpp/src/qpid/broker/Queue.cpp <https://reviews.apache.org/r/12249/#comment46464> Lock order, this is called with messageLock held. Need a note somewhere to explicitly state the lock order rules for Queue. /trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp <https://reviews.apache.org/r/12249/#comment46466> How is this handled now? Need to auto-del queues with only replicating subscriptions. /trunk/qpid/cpp/src/qpid/broker/amqp/NodeProperties.cpp <https://reviews.apache.org/r/12249/#comment46469> I don't understand the usePrimary/trackPrimary code. I don't see how it relates to HA primary status. /trunk/qpid/cpp/src/qpid/ha/QueueReplicator.cpp <https://reviews.apache.org/r/12249/#comment46467> Can we move the isAutoDelete() check into inUse()? - Alan Conway On July 3, 2013, 3:22 p.m., Gordon Sim wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/12249/ > ----------------------------------------------------------- > > (Updated July 3, 2013, 3:22 p.m.) > > > Review request for qpid, Alan Conway and Kenneth Giusti. > > > Bugs: QPID-4976 > https://issues.apache.org/jira/browse/QPID-4976 > > > Repository: qpid > > > Description > ------- > > This adds the ability to have queue autodeleted when no longer used, when > empty or when both no longer used and empty as specified in the standard > lifetime policies for AMQP 1.0. The ability to only delete if unused and > empty is useful for 0-10 also so I've allowed these to be set there as well. > > The basic change is to have an optional policy specified that dictates what > autodelete means. The default is to autodelete when not used. A queue is in > use if it is being consumed or browsed, or if in 0-10 it has been declared as > an exclusive queue and the declaring session is still active. Additionally > over 1.0 the queue is in use if there is any sender attached to it. > Autodeletion is now triggered automatically by the queue when some other > operation moves it to a state eligible for deletion. To avoid this on a > backup in ha, the queue replicator flags the replica as in use. > > > Diffs > ----- > > /trunk/qpid/cpp/src/qpid/amqp/descriptors.h 1497827 > /trunk/qpid/cpp/src/qpid/broker/LossyQueue.cpp 1497827 > /trunk/qpid/cpp/src/qpid/broker/Lvq.cpp 1497827 > /trunk/qpid/cpp/src/qpid/broker/Queue.h 1497827 > /trunk/qpid/cpp/src/qpid/broker/Queue.cpp 1497827 > /trunk/qpid/cpp/src/qpid/broker/QueueSettings.h 1497827 > /trunk/qpid/cpp/src/qpid/broker/QueueSettings.cpp 1497827 > /trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp 1497827 > /trunk/qpid/cpp/src/qpid/broker/SessionAdapter.cpp 1497827 > /trunk/qpid/cpp/src/qpid/broker/amqp/Connection.cpp 1497827 > /trunk/qpid/cpp/src/qpid/broker/amqp/DataReader.cpp 1497827 > /trunk/qpid/cpp/src/qpid/broker/amqp/NodeProperties.h 1497827 > /trunk/qpid/cpp/src/qpid/broker/amqp/NodeProperties.cpp 1497827 > /trunk/qpid/cpp/src/qpid/broker/amqp/Outgoing.h 1497827 > /trunk/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp 1497827 > /trunk/qpid/cpp/src/qpid/broker/amqp/Session.h 1497827 > /trunk/qpid/cpp/src/qpid/broker/amqp/Session.cpp 1497827 > /trunk/qpid/cpp/src/qpid/ha/BrokerReplicator.cpp 1497827 > /trunk/qpid/cpp/src/qpid/ha/QueueReplicator.cpp 1497827 > /trunk/qpid/cpp/src/qpid/messaging/amqp/AddressHelper.cpp 1497827 > /trunk/qpid/cpp/src/tests/QueueTest.cpp 1497827 > > Diff: https://reviews.apache.org/r/12249/diff/ > > > Testing > ------- > > > Thanks, > > Gordon Sim > >
