Aleksandr Efimov has uploaded this change for review. ( http://gerrit.cloudera.org:8080/24913
Change subject: IMPALA-15394: Keep count(*) scans out of the HBO key of a regular scan ...................................................................... IMPALA-15394: Keep count(*) scans out of the HBO key of a regular scan An HdfsScanNode with the count(*) optimization reads row counts from file metadata and returns one row per file or row group. Its cardinality is the number of files, and HBO stores that under the same key as a regular scan of the same table and conjuncts, because generateHboKeyString() does not include countStarSlot_. The next regular scan then takes the file count as its cardinality from HBO. For example, after "SELECT count(*) FROM t" on a Parquet table with 15 files and 13.66M rows, "SELECT * FROM t" is planned with cardinality=15 (from HBO), and every estimate above the scan follows. This patch adds a <COUNT_STAR> marker to the scan key when the optimization is applied, so the two kinds of runs get separate keys. Testing: - Added HboKeyStringTest.testCountStarScanNodeKey. Change-Id: I03183aa998f90bf834dba4ce9ad2f2e57fef1140 --- M fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java M fe/src/test/java/org/apache/impala/planner/HboKeyStringTest.java 2 files changed, 28 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/13/24913/1 -- To view, visit http://gerrit.cloudera.org:8080/24913 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I03183aa998f90bf834dba4ce9ad2f2e57fef1140 Gerrit-Change-Number: 24913 Gerrit-PatchSet: 1 Gerrit-Owner: Aleksandr Efimov <[email protected]>
