-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2853/
-----------------------------------------------------------
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