-----------------------------------------------------------
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

Reply via email to