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

Jesus Camacho Rodriguez commented on HIVE-13831:
------------------------------------------------

Fails are not related to this patch.

> 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
>         Attachments: 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)

Reply via email to