squah-confluent commented on code in PR #18499: URL: https://github.com/apache/kafka/pull/18499#discussion_r1918440313
########## server-common/src/main/java/org/apache/kafka/deferred/DeferredEventQueue.java: ########## @@ -82,7 +85,11 @@ public void failAll(Exception exception) { Entry<Long, List<DeferredEvent>> entry = iter.next(); for (DeferredEvent event : entry.getValue()) { log.info("failAll({}): failing {}.", exception.getClass().getSimpleName(), event); - event.complete(exception); + try { + event.complete(exception); + } catch (Throwable e) { + log.error("failAll({}): {} threw an exception.", exception.getClass().getSimpleName(), event, e); + } Review Comment: This DeferredEvent fix was a bit of a mess. I wasn't sure if there could be dependencies between the events, so I left it up to the caller. ie. I wasn't sure it was safe to call the completion for offset n + 1 if the completion for offset n wasn't called/threw for some reason. If the group coordinator DeferredEvents are independent, I'd go for a different approach entirely. -- 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