This is an automated email from the ASF dual-hosted git repository. alexey pushed a commit to branch branch-1.17.x in repository https://gitbox.apache.org/repos/asf/kudu.git
The following commit(s) were added to refs/heads/branch-1.17.x by this push: new 0de168f7e KUDU-3518: Fix the unexpected scan predicate 0de168f7e is described below commit 0de168f7e0abcf0c29facefcc9c0c9e12b284140 Author: Abhishek Chennaka <achenn...@cloudera.com> AuthorDate: Mon Apr 15 15:52:48 2024 -0700 KUDU-3518: Fix the unexpected scan predicate With the changes introduced in a previous patch[1], there have been reports of errors during scan operations. This patch fixes these scan errors. This patch removes NON-NULL predicates on primary columns implicitly added by ScanSpec::LiftPrimaryKeyBounds(), calling ScanSpec::OptimizeScan() while optimizing InList scan predicates at the DRS level. That's similar to what's done be optimizing the InList predicates based on tablet PK bounds at a higher level. The issue has been investigated and fixed in collaboration with Alexey Serbin. There will be follow-up patches to include tests of this failure. [1] https://gerrit.cloudera.org/#/c/18434/ Change-Id: I220df7ec1b4f95726c913a19125f4647267d12b1 Reviewed-on: http://gerrit.cloudera.org:8080/21244 Reviewed-by: Alexey Serbin <ale...@apache.org> Tested-by: Alexey Serbin <ale...@apache.org> Reviewed-by: Yifan Zhang <chinazhangyi...@163.com> (cherry picked from commit 946acb711d722b1e6fe27af2c7de92960d724980) Reviewed-on: http://gerrit.cloudera.org:8080/21314 --- src/kudu/tablet/cfile_set.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kudu/tablet/cfile_set.cc b/src/kudu/tablet/cfile_set.cc index 7620eea51..06d5f46e9 100644 --- a/src/kudu/tablet/cfile_set.cc +++ b/src/kudu/tablet/cfile_set.cc @@ -453,7 +453,7 @@ Status CFileSet::Iterator::OptimizePKPredicates(ScanSpec* spec) { } if (modify_lower_bound_key || modify_upper_bound_key) { - spec->UnifyPrimaryKeyBoundsAndColumnPredicates(tablet_schema, &arena_, true); + spec->OptimizeScan(tablet_schema, &arena_, true); } return Status::OK(); }