[ 
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)

Reply via email to