[
https://issues.apache.org/jira/browse/HIVE-16637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16005425#comment-16005425
]
Jason Dere commented on HIVE-16637:
-----------------------------------
Whoops, forgot to link the RB: https://reviews.apache.org/r/59152/
In the existing logic, LlapBaseRecordReader would just go ahead and try to read
from the DataInputStream, regardless of whether the underlying stream was
finished or not. This does not work - methods like WritableUtils.readVInt()
assume there is sufficient input in the stream and will throw EOFException if
there is not. Anyway, we should never have ignored EOFException - that was not
correct. We should never try to initiate a read if the stream is empty, thus
adding the hasInput() check. I believe the mark/reset usage is correct - I
think that's the point of having those methods.
> Improve end-of-data checking for LLAP input format
> --------------------------------------------------
>
> Key: HIVE-16637
> URL: https://issues.apache.org/jira/browse/HIVE-16637
> Project: Hive
> Issue Type: Bug
> Components: llap
> Reporter: Jason Dere
> Assignee: Jason Dere
> Attachments: HIVE-16637.1.patch
>
>
> The existing end of stream checking in the record reader is too forgiving of
> errors and does not recognize situations where the server connection has
> closed abruptly like HIVE-14093.
> Try to add a way to indicate that we have truly hit the end of the stream.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)