> On 2012-05-25 14:49:56, Gordon Sim wrote: > > /trunk/qpid/cpp/src/qpid/broker/Messages.h, line 108 > > <https://reviews.apache.org/r/5231/diff/2/?file=110241#file110241line108> > > > > Is this still used? > > Alan Conway wrote: > Yes. Even if you dequeue all the messages>=N you can't just push message > N, you need to clean up the index, e.g. chop the end off the underlying > deque, so things will line up.
I don't understand this, could you elaborate? If (assuming the changes in diff 2 where Queue::setPosition() uses the same approach as for purging expired messages) all the messages are removed from Messages instance and then dequeued etc, why would any internal state of the Messages instance not then be consistent? - Gordon ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/5231/#review8108 ----------------------------------------------------------- On 2012-05-25 17:55:24, Alan Conway wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/5231/ > ----------------------------------------------------------- > > (Updated 2012-05-25 17:55:24) > > > Review request for qpid, Gordon Sim and Kenneth Giusti. > > > Summary > ------- > > In the new HA code a backup may sometimes be ahead of the new primary > after a > fail-over. In that case the backup truncates it's queues to the same > position > as the primary so it can continue replicating. > > > Diffs > ----- > > /trunk/qpid/cpp/src/qpid/broker/MessageDeque.h 1342442 > /trunk/qpid/cpp/src/qpid/broker/MessageDeque.cpp 1342442 > /trunk/qpid/cpp/src/qpid/broker/MessageMap.h 1342442 > /trunk/qpid/cpp/src/qpid/broker/MessageMap.cpp 1342442 > /trunk/qpid/cpp/src/qpid/broker/Messages.h 1342442 > /trunk/qpid/cpp/src/qpid/broker/PriorityQueue.h 1342442 > /trunk/qpid/cpp/src/qpid/broker/PriorityQueue.cpp 1342442 > /trunk/qpid/cpp/src/qpid/broker/Queue.h 1342442 > /trunk/qpid/cpp/src/qpid/broker/Queue.cpp 1342442 > /trunk/qpid/cpp/src/tests/Makefile.am 1342442 > /trunk/qpid/cpp/src/tests/QueueTest.cpp 1342442 > /trunk/qpid/cpp/src/tests/brokertest.py 1342442 > > Diff: https://reviews.apache.org/r/5231/diff > > > Testing > ------- > > Passing make check, added unit tests to QueueTests.cpp > > > Thanks, > > Alan > >