[
https://issues.apache.org/jira/browse/HIVE-13831?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jesus Camacho Rodriguez updated HIVE-13831:
-------------------------------------------
Resolution: Fixed
Fix Version/s: 2.1.0
Status: Resolved (was: Patch Available)
Fails are unrelated. Pushed to master, branch-2.1. Thanks for reviewing
[~ashutoshc]!
> Error pushing predicates to HBase storage handler
> -------------------------------------------------
>
> Key: HIVE-13831
> URL: https://issues.apache.org/jira/browse/HIVE-13831
> Project: Hive
> Issue Type: Bug
> Components: HBase Handler
> Affects Versions: 2.1.0
> Reporter: Jesus Camacho Rodriguez
> Assignee: Jesus Camacho Rodriguez
> Fix For: 2.1.0
>
> Attachments: HIVE-13831.01.patch, HIVE-13831.02.patch,
> HIVE-13831.patch
>
>
> Discovered while working on HIVE-13693.
> There is an error on the predicates that we can push to HBaseStorageHandler.
> In particular, range predicates of the shape {{(bounded, open)}} and {{(open,
> bounded)}} over long or int columns get pushed and return wrong results.
> The problem has to do with the storage order for keys in HBase. Keys are
> sorted lexicographically. Since the byte representation of negative values
> comes after the positive values, open range predicates need special handling
> that we do not have right now.
> Thus, for instance, when we push the predicate {{key > 2}}, we return all
> records with column _key_ greater than 2, plus the records with negative
> values for the column _key_. This problem does not get exposed if a filter is
> kept in the Hive operator tree, but we should not assume the latest.
> This fix avoids pushing this kind of predicates to the storage handler,
> returning them in the _residual_ part of the predicate that cannot be pushed.
> In the future, special handling might be added to support this kind of
> predicates.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)