Zoltán Borók-Nagy created IMPALA-15707:
------------------------------------------
Summary: Remove the fast code path of page-level min/max filtering
and MINMAX_FILTER_FAST_CODE_PATH
Key: IMPALA-15707
URL: https://issues.apache.org/jira/browse/IMPALA-15707
Project: IMPALA
Issue Type: Task
Components: Backend
Reporter: Zoltán Borók-Nagy
Page-level min/max runtime filters on Parquet columns with an ASCENDING column
index can take a "fast code path"
(HdfsParquetScanner::CollectSkippedPageRangesForSortedColumn(), added by
IMPALA-10709) that binary searches the min/max values of the pages instead of
checking each page. The query option MINMAX_FILTER_FAST_CODE_PATH
(ON/OFF/VERIFICATION) selects between them.
Since IMPALA-15443, SkipPagesBatch() decodes the min/max values of every page
first, so the binary search only replaces a loop of cheap overlap checks, after
the column index is parsed and decoded in O(pages) anyway. Both paths skip the
same pages (this is what VERIFICATION checks), and the per-page check does not
rely on the boundary order being correct.
Tasks:
* Remove the fast code path, CollectSkippedPageRangesForSortedColumn() and its
BE tests.
* Check each page in FindSkipRangesForPagesWithMinMaxFilters() like
EvaluatePageIndex() does; SkipPagesBatch() and the spans of non-NULL pages are
no longer needed.
* Turn MINMAX_FILTER_FAST_CODE_PATH into a removed query option
(REMOVED_QUERY_OPT_FN) and drop it from the tests.
* Remove the TODOs that refer to this ticket.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)