splett2 commented on code in PR #15702:
URL: https://github.com/apache/kafka/pull/15702#discussion_r1563199330


##########
metadata/src/main/java/org/apache/kafka/controller/QuorumController.java:
##########
@@ -2360,4 +2363,9 @@ void setNewNextWriteOffset(long newNextWriteOffset) {
     void handleUncleanBrokerShutdown(int brokerId, List<ApiMessageAndVersion> 
records) {
         replicationControl.handleBrokerUncleanShutdown(brokerId, records);
     }
+
+    void maybeTriggerMinIsrConfigUpdate(Optional<String> topicName) throws 
InterruptedException, ExecutionException {
+        appendWriteEvent("partitionUpdateForMinIsrChange", 
OptionalLong.empty(),
+            () -> 
replicationControl.getPartitionElrUpdatesForConfigChanges(topicName)).get();
+    }

Review Comment:
   calling `.get()` on an appendWriteEvent doesn't look right to me. If I 
understand correctly, the `appendWriteEvents` are handled in the quorum 
controller event loop thread.
   
   We would expect `replay()` to also be called in the event loop thread. so if 
we trigger an `appendWriteEvent` and block waiting for the result, it would 
always time out, since we are blocking the processing thread.



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