[
https://issues.apache.org/jira/browse/KAFKA-3203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15132736#comment-15132736
]
Jiangjie Qin commented on KAFKA-3203:
-------------------------------------
[~granthenke] The reason we don't use UnknownMagicByteException is probably
because previously magic byte is always 0 so we don't even check it in the
code. However, after KIP-31/KIP-32 and idempotent producer in the future, I
think we will check magic byte. So I would prefer keeping it there. There are
two possibilities magic byte can go wrong: 1) unknown 2) invalid because of
something like broker setting, format mismatch, etc. Should we change the
exception to be InvalidMagicByteException?
I don't have a strong opinion on error code mapping. But according to the
current description, corrupted message specifically means CRC does not match.
Personally I would prefer having separate error code for magic byte error and
codec error. It seems clearer to client developers and users.
> Add UnknownCodecException and UnknownMagicByteException to error mapping
> ------------------------------------------------------------------------
>
> Key: KAFKA-3203
> URL: https://issues.apache.org/jira/browse/KAFKA-3203
> Project: Kafka
> Issue Type: Bug
> Components: clients, core
> Affects Versions: 0.9.0.0
> Reporter: Jiangjie Qin
> Assignee: Grant Henke
> Fix For: 0.10.0.0, 0.9.1.0
>
>
> Currently most of the exceptions to user have an error code. While
> UnknownCodecException and UnknownMagicByteException can also be thrown to
> client, broker does not have error mapping for them, so clients will only
> receive UnknownServerException, which is vague.
> We should create those two exceptions in client package and add them to error
> mapping.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)