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

Reply via email to