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();
 }

Reply via email to