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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]