artemlivshits commented on code in PR #14705:
URL: https://github.com/apache/kafka/pull/14705#discussion_r1385493045


##########
group-coordinator/src/main/java/org/apache/kafka/coordinator/group/runtime/CoordinatorRuntime.java:
##########
@@ -659,9 +660,21 @@ public TopicPartition key() {
          */
         @Override
         public void run() {
+            try {
+                runAsync().get();

Review Comment:
   We actually don't need to wait for replication, so the current pipelining 
works without changes -- the current logic uses acks=1 and captures the offset 
and then waits for HWM to be advanced to complete the write request.  It may 
prevent potential pipelining opportunities if new async stages are added for 
acks=1 (e.g. transaction verification).  But the most important thing is that 
with this proposal, innovating under appendRecords interface would just work 
out of box, which is the purpose of having interfaces -- innovating under the 
interface doesn't break callers that use interface correctly (which makes 
system modular). 
   
   If we find out that we want the pipelining for transaction verification we 
can make this optimization later (if we find it to be a problem).  We will have 
a choice between complexity and potentially better pipelining; with the current 
model, we don't have the choice -- the workflow will break if we add an async 
state to acks=1 processing and will have to fix it before shipping.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to