[
https://issues.apache.org/jira/browse/KAFKA-1241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13896114#comment-13896114
]
Jay Kreps commented on KAFKA-1241:
----------------------------------
Hey [~nehanarkhede] I think that is a real bug that someone pointed out in the
code review, namely that when the metadata refresh happens if it goes to a
broker that also gets a produce request in the same iteration it is possible to
have two unsent requests at the same time (which we don't allow). The fix is
fairly straight-forward but let me break it into a seperate issue from the
error message bug.
In any case I think the patch I posted fixes the logging in the serialization.
I'll fix up the sender logging when we do the slf4j. So can I get a +1 on this?
> 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)