hachikuji commented on a change in pull request #9564:
URL: https://github.com/apache/kafka/pull/9564#discussion_r537789168



##########
File path: 
core/src/main/scala/kafka/server/BrokerToControllerChannelManagerImpl.scala
##########
@@ -125,15 +129,25 @@ class BrokerToControllerChannelManagerImpl(metadataCache: 
kafka.server.MetadataC
   }
 
   override def sendRequest(request: AbstractRequest.Builder[_ <: 
AbstractRequest],
-                           callback: RequestCompletionHandler): Unit = {
-    requestQueue.put(BrokerToControllerQueueItem(request, callback))
+                           callback: ControllerRequestCompletionHandler,
+                           retryDeadlineMs: Long): Unit = {
+    requestQueue.put(BrokerToControllerQueueItem(request, callback, 
retryDeadlineMs))
     requestThread.wakeup()
   }
+}
+
+abstract class ControllerRequestCompletionHandler extends 
RequestCompletionHandler {
 
+  /**
+   * Fire when the request transmission time passes the caller defined 
deadline on the channel queue.
+   * This is different from the original request's timeout.

Review comment:
       Can we explain how it is different? We want to emphasize that it covers 
the total time including retries which might be the result of request timeouts.




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

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


Reply via email to