'DefaultErrorHandler doesn't log not retryable exceptions

Not retryable exceptions are not logged in DefaultErrorHandler when used with DeadLetterPublishingRecoverer.

@Bean
public CommonErrorHandler consumerErrorHandler(KafkaTemplate<String, KafkaMessage> kafkaTemplate) {
    var errorHandler = new DefaultErrorHandler(new DeadLetterPublishingRecoverer(kafkaTemplate), kafkaConsumerRetryProperties.getBackoffPolicy());
    errorHandler.addNotRetryableExceptions(NullPointerException.class);
    return errorHandler;
}

In this case NullPointerException is not logged whatsoever when thrown in method annotated with @KafkaListener



Solution 1:[1]

Feel free to open an issue on GitHub. In the meantime, you could subclass the DLPR and log the exception in accept() before calling super.accept().

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Gary Russell