[ 
https://issues.apache.org/jira/browse/KAFKA-7016?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16969380#comment-16969380
 ] 

Viliam Durina commented on KAFKA-7016:
--------------------------------------

I add my vote to this: the exceptions are much less useful. Exceptions cost 
nothing if they're not thrown, which is the normal case. If you use exceptions 
internally in normal execution, avoid that. I have a complex code and don't 
know where in my code the problem happened. I ended up wrapping each kafka call 
individually with this to find out:

{{handleExc(() -> /* the kafka call here */);}}

{{private static void handleExc(RunnableExc<Exception> action) {}}
{{  try {}}
{{    action.run();}}
{{  } catch (Exception e) {}}
{{    throw new RuntimeException(e);}}
{{  }}}
{{}}}

 

Very annoying.

> Reconsider the "avoid the expensive and useless stack trace for api 
> exceptions" practice
> ----------------------------------------------------------------------------------------
>
>                 Key: KAFKA-7016
>                 URL: https://issues.apache.org/jira/browse/KAFKA-7016
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: Martin Vysny
>            Priority: Major
>
> I am trying to write a Kafka Consumer; upon running it only prints out:
> {\{ org.apache.kafka.common.errors.InvalidGroupIdException: The configured 
> groupId is invalid}}
> Note that the stack trace is missing, so that I have no information which 
> part of my code is bad and need fixing; I also have no information which 
> Kafka Client method has been called. Upon closer examination I found this in 
> ApiException:
>  
> {{/* avoid the expensive and useless stack trace for api exceptions */}}
>  {{@Override}}
>  {{public Throwable fillInStackTrace() {}}
>  \{{ return this;}}
>  {{}}}
>  
> I think it is a bad practice to hide all useful debugging info and trade it 
> for dubious performance gains. Exceptions are for exceptional code flow which 
> are allowed to be slow.
>  
> This applies to kafka-clients 1.1.0



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to