Dan Burkert has posted comments on this change. (
http://gerrit.cloudera.org:8080/10185 )
Change subject: KUDU-2416: Fix PartialRow.setMin and add a unit test
......................................................................
Patch Set 1: Code-Review+2
> Patch Set 1: Code-Review+2
>
> Looks good. Would be good to understand the impact so we know how far back to
> backport this, etc
This bug can result in Kudu incorrectly pruning partitions in specific
scenarios. It requires multiple range partition columns, a partition bound
value being less than -2^31 on any column _except_ the first. Then, it
requires a certain set of predicates to trigger the pruning. Here is the
simplest repro I've found (in Impala):
CREATE TABLE t (a BIGINT, b BIGINT, PRIMARY KEY (a, b))
PARTITION BY RANGE (a, b) (
PARTITION VALUE = (0, 0),
PARTITION VALUE = (0, -2147483649)
) STORED AS KUDU;
INSERT INTO t VALUES (0, 0), (0, -2147483649);
SELECT * FROM t WHERE a >= 0;
results in a single result: (0, 0), where it should result in both values.
I think we should backport this patch widely given the 'obviousness' of the
fix. I'll come up with a regression test in another patch.
--
To view, visit http://gerrit.cloudera.org:8080/10185
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I510743385cc567a8443efc8b0c9f5b641cf04c31
Gerrit-Change-Number: 10185
Gerrit-PatchSet: 1
Gerrit-Owner: Grant Henke <[email protected]>
Gerrit-Reviewer: Dan Burkert <[email protected]>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <[email protected]>
Gerrit-Comment-Date: Wed, 25 Apr 2018 17:31:19 +0000
Gerrit-HasComments: No