sebastienviale commented on code in PR #16675:
URL: https://github.com/apache/kafka/pull/16675#discussion_r1698015268


##########
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?
   > 
   > But I see your point that it's not really related to the KIP. I can do a 
follow up myself.
   
   Ok, I will open a new PR for that !



-- 
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]

Reply via email to