[ 
https://issues.apache.org/jira/browse/KAFKA-3189?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Grant Henke updated KAFKA-3189:
-------------------------------
    Description: 
This issue was introduced in KAFKA-2929. The problem is that we are using 
o.a.k.common.protocol.Errors.forException() while some exceptions thrown by the 
broker are still using old scala exception. This cause Errors.forException() 
always return UnknownServerException.

InvalidMessageException is inherited from CorruptRecordException. But it seems 
Errors.forException() needs the exception class to be the exact class, so it 
does not map the subclass InvalidMessageException to the correct error code. 
Instead it returns -1 which is UnknownServerException.

  was:
This issue was introduced in KAFKA-2929. The problem is that we are using 
o.a.k.common.protocol.Errors.forException() while all exceptions thrown by the 
broker are still using old scala exception. This cause Errors.forException() 
always return UnknownServerException.

We should either switch back to Errors.forException() to ErrorMapping.codeFor() 
or migrate all the exceptions to Java exception.

I prefer the latter option since it seems to be a simple class replacement.


> Kafka server returns UnknownServerException for inherited exceptions
> --------------------------------------------------------------------
>
>                 Key: KAFKA-3189
>                 URL: https://issues.apache.org/jira/browse/KAFKA-3189
>             Project: Kafka
>          Issue Type: Bug
>          Components: core
>            Reporter: Jiangjie Qin
>            Assignee: Grant Henke
>             Fix For: 0.9.1.0
>
>
> This issue was introduced in KAFKA-2929. The problem is that we are using 
> o.a.k.common.protocol.Errors.forException() while some exceptions thrown by 
> the broker are still using old scala exception. This cause 
> Errors.forException() always return UnknownServerException.
> InvalidMessageException is inherited from CorruptRecordException. But it 
> seems Errors.forException() needs the exception class to be the exact class, 
> so it does not map the subclass InvalidMessageException to the correct error 
> code. Instead it returns -1 which is UnknownServerException.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to