You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Gunther Hagleitner (JIRA)" <ji...@apache.org> on 2014/11/12 21:40:48 UTC

[jira] [Updated] (HIVE-8137) Empty ORC file handling

     [ https://issues.apache.org/jira/browse/HIVE-8137?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gunther Hagleitner updated HIVE-8137:
-------------------------------------
    Fix Version/s:     (was: 0.14.0)

> Empty ORC file handling
> -----------------------
>
>                 Key: HIVE-8137
>                 URL: https://issues.apache.org/jira/browse/HIVE-8137
>             Project: Hive
>          Issue Type: Improvement
>          Components: File Formats
>    Affects Versions: 0.13.1
>            Reporter: Pankit Thapar
>         Attachments: HIVE-8137.2.patch, HIVE-8137.patch
>
>
> Hive 13 does not handle reading of a zero size Orc File properly. An Orc file is suposed to have a post-script
> which the ReaderIml class tries to read and initialize the footer with it. But in case, the file is empty 
> or is of zero size, then it runs into an IndexOutOfBound Exception because of ReaderImpl trying to read in its constructor.
> Code Snippet : 
> //get length of PostScript
> int psLen = buffer.get(readSize - 1) & 0xff; 
> In the above code, readSize for an empty file is zero.
> I see that ensureOrcFooter() method performs some sanity checks for footer , 
> so, either we can move the above code snippet to ensureOrcFooter() and throw a "Malformed ORC file exception" or we can create a dummy Reader that does not initialize footer and basically has hasNext() set to false so that it returns false on the first call.
> Basically, I would like to know what might be the correct way to handle an empty ORC file in a mapred job?
> Should we neglect it and not throw an exception or we can throw an exeption that the ORC file is malformed.
> Please let me know your thoughts on this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)