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

Jay Kreps commented on KAFKA-1241:
----------------------------------

I improved the error for that case. I think the rationale was that we CAN have 
good error messages because all parsing logic is in a single place not that we 
DO have good errors. Once we fix all the issues like this then we will have 
good errors :-)

We can't give the request name as the serialization doesn't know about requests 
but we can give the field being read and how much it was off by which I think 
is an improvement.

All that said this sounds like there is a bug, no? I mean the fact that we get 
an error is itself an issue irrespective of how good the error message is, 
right?

> Cryptic serde error messages in new producer
> --------------------------------------------
>
>                 Key: KAFKA-1241
>                 URL: https://issues.apache.org/jira/browse/KAFKA-1241
>             Project: Kafka
>          Issue Type: Bug
>          Components: producer 
>    Affects Versions: 0.9.0
>            Reporter: Neha Narkhede
>            Assignee: Jay Kreps
>            Priority: Critical
>         Attachments: KAFKA-1241.patch
>
>
> One of the motivations for the new serde format is better error reporting. I 
> was running a test on the new mirror maker when I saw this exception -
> java.nio.BufferUnderflowException
>       at java.nio.Buffer.nextGetIndex(Buffer.java:480)
>       at java.nio.HeapByteBuffer.getInt(HeapByteBuffer.java:336)
>       at kafka.common.protocol.types.Type$3.read(Type.java:88)
>       at kafka.common.protocol.types.Schema.read(Schema.java:50)
>       at kafka.common.protocol.types.ArrayOf.read(ArrayOf.java:30)
>       at kafka.common.protocol.types.Schema.read(Schema.java:50)
>       at kafka.common.protocol.types.ArrayOf.read(ArrayOf.java:30)
>       at kafka.common.protocol.types.Schema.read(Schema.java:50)
>       at 
> kafka.clients.producer.internals.Sender.handleResponses(Sender.java:273)
>       at kafka.clients.producer.internals.Sender.run(Sender.java:144)
>       at kafka.clients.producer.internals.Sender.run(Sender.java:84)
>       at java.lang.Thread.run(Thread.java:619)
> I was expecting to see a precise error message about the Request type that 
> serde failed for. Instead it says Type$3 and no information on which field.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to