You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "Bankim Bhavsar (Jira)" <ji...@apache.org> on 2021/05/18 17:27:00 UTC

[jira] [Comment Edited] (KUDU-3286) Add special handling for empty strings for Bloom filter predicate push down

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

Bankim Bhavsar edited comment on KUDU-3286 at 5/18/21, 5:26 PM:
----------------------------------------------------------------

This issue has been fixed for upcoming 1.15.0 release with commit bd27769

https://gerrit.cloudera.org/c/17470/

This commit required introducing a feature flag that makes Kudu client < 1.15.0 incompatible with server >= 1.15.0 and vice-versa. Impala the main consumer of this feature will be bumping up its kudu client to be compatible.


was (Author: bankim):
This issue has been fixed for upcoming 1.15.0 release with commit bd27769

[https://gerrit.cloudera.org/c/17470/
]

This commit required introducing a feature flag that makes Kudu client < 1.15.0 incompatible with server >= 1.15.0 and vice-versa. Impala the main consumer of this feature will be bumping up its kudu client to be compatible.

> Add special handling for empty strings for Bloom filter predicate push down
> ---------------------------------------------------------------------------
>
>                 Key: KUDU-3286
>                 URL: https://issues.apache.org/jira/browse/KUDU-3286
>             Project: Kudu
>          Issue Type: Improvement
>    Affects Versions: 1.13.0
>            Reporter: Bankim Bhavsar
>            Assignee: Bankim Bhavsar
>            Priority: Major
>
> Fast hash used with Bloom filter predicate pushdown has special handling for nullptr.
> [https://github.com/apache/kudu/blob/master/src/kudu/util/hash_util.h#L95]
> However there isn't any special handling for empty objects/strings. Fast hash for an empty string with seed=0 generates a hash value of 0. This doesn't set any bits in Bloom filter and as a result empty strings are reported as not present.
> Impala uses the direct bloom filter approach and includes special handling for empty strings.
> [https://github.com/apache/impala/blob/master/be/src/runtime/raw-value.inline.h#L352]
> This leads to discrepancy between Impala and Kudu and returns incorrect join results.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)