avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yong Zhang <java8...@hotmail.com>
Subject Question related to org.apache.avro.io.DirectBinaryDecoder
Date Sat, 23 Jan 2016 18:59:48 GMT
Hi, Avro Developers:

Is anyone familiar the code logic related to org.apache.avro.io.DirectBinaryDecoder?

I am asking this question related to AVRO-1786, which I believe I am facing a bug related
to this class.

A valid Avro record sent from Mapper to the Reducer, but Reducer cannot read it due to IndexOutOfBoundException,
because the readInt() method of this class return "-51".

I even can dump the local variables of the method in this exception case, and described in
the comments area of Jira ticket.

I don't understand the internal logic of this class, and how the readInt() method implemented.
But an inputstream read 101 bytes out will cause this method return a negative number, and
causes following method IndexOutofBoundException looks like a bug to me.

Can anyone understand this class's logic confirm this is a bug or not? If it is a bug, what
is the best way to fix it?

I can consistently reproduce this bug on our production cluster, which mean I can verify any
code fix works or not for this case.

Let me know any question related to this JIRA.


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message