-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/860/
-----------------------------------------------------------
(Updated 2011-06-22 15:58:11.269092)
Review request for qpid, Alan Conway, Gordon Sim, Kim van der Riet, and Steve
Huston.
Changes
-------
Latest diff of branch against trunk. Also have added Steve H. to the
reviewer's list.
I think I've addressed all previous comments - with the exception of Alan's
request to remove the Queue::pendingDequeueCompletions map (Sorry - I still
don't see a simpler way of getting back at the pending Message.Transfer
commands).
I think a change of this magnitude is best left for after 0.12....
Summary
-------
Modifies the broker's handling of Message.Accept to hold off the completion of
the command until all messages related to the accept have completed dequeue.
This particularly applies to persistent messages, as the store::dequeue()
operation must complete before the message is considered fully dequeued.
Note this bugfix requires some changes to the broker's store module interface:
previously, the store only identified the message when a dequeue was completed.
This is not enough information - the queue from which is was removed must also
be identified (the message may be in the process of being dequeued on several
queues at once).
This addresses bug qpid-3079.
https://issues.apache.org/jira/browse/qpid-3079
Diffs (updated)
-----
/trunk/qpid/cpp/src/qpid/broker/AsyncCompletion.h 1138503
/trunk/qpid/cpp/src/qpid/broker/DeliveryRecord.h 1138503
/trunk/qpid/cpp/src/qpid/broker/DeliveryRecord.cpp 1138503
/trunk/qpid/cpp/src/qpid/broker/Message.h 1138503
/trunk/qpid/cpp/src/qpid/broker/Message.cpp 1138503
/trunk/qpid/cpp/src/qpid/broker/MessageStore.h 1138503
/trunk/qpid/cpp/src/qpid/broker/MessageStoreModule.h 1138503
/trunk/qpid/cpp/src/qpid/broker/MessageStoreModule.cpp 1138503
/trunk/qpid/cpp/src/qpid/broker/NullMessageStore.h 1138503
/trunk/qpid/cpp/src/qpid/broker/NullMessageStore.cpp 1138503
/trunk/qpid/cpp/src/qpid/broker/PersistableMessage.h 1138503
/trunk/qpid/cpp/src/qpid/broker/PersistableMessage.cpp 1138503
/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h 1138503
/trunk/qpid/cpp/src/qpid/broker/Queue.h 1138503
/trunk/qpid/cpp/src/qpid/broker/Queue.cpp 1138503
/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp 1138503
/trunk/qpid/cpp/src/qpid/broker/SessionContext.h 1138503
/trunk/qpid/cpp/src/qpid/broker/SessionState.h 1138503
/trunk/qpid/cpp/src/qpid/broker/SessionState.cpp 1138503
/trunk/qpid/cpp/src/qpid/store/MessageStorePlugin.h 1138503
/trunk/qpid/cpp/src/qpid/store/MessageStorePlugin.cpp 1138503
/trunk/qpid/cpp/src/qpid/store/StorageProvider.h 1138503
/trunk/qpid/cpp/src/qpid/store/ms-clfs/MSSqlClfsProvider.cpp 1138503
/trunk/qpid/cpp/src/qpid/store/ms-sql/MSSqlProvider.cpp 1138503
/trunk/qpid/cpp/src/tests/AsyncCompletion.cpp 1138503
/trunk/qpid/cpp/src/tests/QueueTest.cpp 1138503
/trunk/qpid/cpp/src/tests/TestMessageStore.h 1138503
/trunk/qpid/cpp/src/tests/cluster_tests.py 1138503
Diff: https://reviews.apache.org/r/860/diff
Testing
-------
broker unit tests, store unit tests (modified jboss store). Still needs to be
vetted on non-linux, and have latest trunk merged in.
Thanks,
Kenneth