> On 2011-11-17 22:50:45, Robbie Gemmell wrote: > > Also forgot to mention earlier, I think that you will need to consider > > clearing the contents of your completions list during failover. When Keith > > and I made the changes we did, we had to update the patch to ensure that it > > didnt try completing messages after failover that had been received from > > the old broker and so would now be considered to have invalid command IDs > > based on the tracking the Session does.
correct ! -- this is something that I've missed. Thanks again for the feedback. Hope to repost the patch with the changes we've discussed late friday or monday morning. - rajith ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/2853/#review3330 ----------------------------------------------------------- On 2011-11-16 18:31:12, rajith attapattu wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/2853/ > ----------------------------------------------------------- > > (Updated 2011-11-16 18:31:12) > > > Review request for qpid, Gordon Sim, Robbie Gemmell, Weston Price, Keith > Wall, and Oleksandr Rudyy. > > > Summary > ------- > > This patch is for both QPID-3612 & QPID-3613. Please note QPID-3602 is the > main JIRA for credit related issues. > > Message completions are now handled independent of the Message acks. > > 1. The consumer now keeps track of credits on a per subscription basis using > the RangeSet "completions" and sends completions, > if the unCompletedCount >= _capacity/2 > For capacity = 0 or capacity = 1, we use the flag > "sendCompleteForEveryMsg" to send a completion for each message. > > 2. Cleanedup the acking process in AMQSession_0_10.java to make acking > independent of completions. > 2.1 For AUTO_ACK we send an ack after every message. > 2.1 For DUPS_OK we ack if, > maxAckDelay <= 0 OR > unackedCount >= ackBatchingThreshold, where ackBatchingThreshold == > prefetch/2 > > > This addresses bug QPID-3602. > https://issues.apache.org/jira/browse/QPID-3602 > > > Diffs > ----- > > > http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java > 1202779 > > http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java > 1202779 > > http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/prefetch/PrefetchBehaviourTest.java > 1202779 > > Diff: https://reviews.apache.org/r/2853/diff > > > Testing > ------- > > Added two basic test cases (transacted and client-ack modes) to ensure > completions are sent in time to ensure credits don't dry up. > > > Thanks, > > rajith > >
