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)