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)

Reply via email to