David Ribeiro Alves has submitted this change and it was merged. Change subject: KUDU-1893 Ensure evaluation of added columns ......................................................................
KUDU-1893 Ensure evaluation of added columns During a normal scan, a CFileIterator sets a flag to indicate whether the block supports decoder-level evaluation, and if, after returning, this flag has not been set to false, the returned data will be evaluated against the predicate. Columns that are added after table creation and after a flush will use DefaultColumnValueIterators to scan. These iterators were not setting the flag, so the predicates would not be evaluated on these columns. All rows in the existing results set would be returned, regardless of predicates on added columns. If a column predicate is added to an added column that should filter out some rows, the scan will yield incorrect results. There is added test coverage in all_types-scan-correctness-test.cc. Without the changes in this patch, RunTests() will fail at the following points: * Null default, Range+IsNotNull * Null default, Range * Non-null default, Range+IsNotNull * Non-null default, Range with Default * Non-null default, Range without Default This patch addresses this by forcing predicate evaluation by the DefaultColumnValueIterator. Change-Id: Ic10919962d11effbb1b66d97660acd012b6b4be9 Reviewed-on: http://gerrit.cloudera.org:8080/6225 Tested-by: Kudu Jenkins Reviewed-by: David Ribeiro Alves <dral...@apache.org> --- M src/kudu/cfile/cfile_reader.cc M src/kudu/common/column_predicate.cc M src/kudu/common/column_predicate.h M src/kudu/common/partial_row.h M src/kudu/tablet/CMakeLists.txt A src/kudu/tablet/all_types-scan-correctness-test.cc 6 files changed, 572 insertions(+), 1 deletion(-) Approvals: David Ribeiro Alves: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/6225 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ic10919962d11effbb1b66d97660acd012b6b4be9 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: branch-1.2.x Gerrit-Owner: Andrew Wong <aw...@cloudera.com> Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com> Gerrit-Reviewer: David Ribeiro Alves <dral...@apache.org> Gerrit-Reviewer: Kudu Jenkins