[ https://issues.apache.org/jira/browse/HIVE-6382?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13906359#comment-13906359 ]
Sergey Shelukhin commented on HIVE-6382: ---------------------------------------- wrt 64 bits that's what I meant by relying on internals of that func... maybe it can check and throw assertion error if it is >56 but not 64... anyway that's nit. Otherwise +1 > PATCHED_BLOB encoding in ORC will corrupt data in some cases > ------------------------------------------------------------ > > Key: HIVE-6382 > URL: https://issues.apache.org/jira/browse/HIVE-6382 > Project: Hive > Issue Type: Bug > Components: Serializers/Deserializers > Affects Versions: 0.13.0 > Reporter: Prasanth J > Assignee: Prasanth J > Labels: orcfile > Attachments: HIVE-6382.1.patch, HIVE-6382.2.patch, HIVE-6382.3.patch, > HIVE-6382.4.patch > > > In PATCHED_BLOB encoding (added in HIVE-4123), gapVsPatchList is an array of > long that stores gap (g) between the values that are patched and the patch > value (p). The maximum distance of gap can be 511 that require 8 bits to > encode. And patch values can take more than 56 bits. When patch values take > more than 56 bits, p + g will become > 64 bits which cannot be packed to a > long. This will result in data corruption under the case where patch values > are > 56 bits. -- This message was sent by Atlassian JIRA (v6.1.5#6160)