You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Puneet Gupta (JIRA)" <ji...@apache.org> on 2014/02/18 16:22:19 UTC

[jira] [Commented] (HIVE-5994) ORC RLEv2 encodes wrongly for large negative BIGINTs (64 bits )

    [ https://issues.apache.org/jira/browse/HIVE-5994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13904141#comment-13904141 ] 

Puneet Gupta commented on HIVE-5994:
------------------------------------

Will it affect positive values also?  I am trying to write long  4703275633953830000L and I see some issues while reading back.
When I write 10 rows of same long value and read back , I get value as 112 instead.
When I write 1 or 100 rows of same long value and read back , I get correct value back !  Not sure why ? 



> ORC RLEv2 encodes wrongly for large negative BIGINTs  (64 bits )
> ----------------------------------------------------------------
>
>                 Key: HIVE-5994
>                 URL: https://issues.apache.org/jira/browse/HIVE-5994
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 0.13.0
>            Reporter: Prasanth J
>            Assignee: Prasanth J
>              Labels: orcfile
>             Fix For: 0.13.0
>
>         Attachments: HIVE-5994.1.patch
>
>
> For large negative BIGINTs, zigzag encoding will yield large value (64bit value) with MSB set to 1. This value is interpreted as negative value in SerializationUtils.findClosestNumBits(long value) function. This resulted in wrong computation of total number of bits required which results in wrong encoding/decoding of values.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)