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

Reply via email to