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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]