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