mjsax commented on code in PR #16675:
URL: https://github.com/apache/kafka/pull/16675#discussion_r1697940240
##########
streams/src/main/java/org/apache/kafka/streams/processor/internals/ProcessorNode.java:
##########
@@ -214,9 +214,13 @@ public void process(final Record<KIn, VIn> record) {
internalProcessorContext.currentNode().name(),
internalProcessorContext.taskId());
- final ProcessingExceptionHandler.ProcessingHandlerResponse
response = processingExceptionHandler
- .handle(errorHandlerContext, record, e);
+ final ProcessingExceptionHandler.ProcessingHandlerResponse
response;
+ try {
+ response =
processingExceptionHandler.handle(errorHandlerContext, record, e);
+ } catch (final Exception fatalUserException) {
+ throw new StreamsException("Fatal user code error in
processing error callback", fatalUserException);
Review Comment:
>> Btw: it seems we have such a guard only for the
DeserializationExceptionHandler#handle(...) call, but not for the
ProductionExceptionHanlder#call(...)? Might be good to do a follow up PR to add
it to the proction-error-handler case, too?
>
> @mjsax is it mandatory for this KIP ?
Well, we don't want a handler which throws an exception to **not** crash KS,
because the exception is caught in an upstream handler, right? But should be a
simple thing to add?
--
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]