You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Aleksandr Efimov (Jira)" <ji...@apache.org> on 2026/09/22 11:34:00 UTC
[jira] [Created] (IMPALA-15394) HBO stores count(*) scans under the key of a regular scan
Aleksandr Efimov created IMPALA-15394:
-----------------------------------------
Summary: HBO stores count(*) scans under the key of a regular scan
Key: IMPALA-15394
URL: https://issues.apache.org/jira/browse/IMPALA-15394
Project: IMPALA
Issue Type: Bug
Components: Frontend
Reporter: Aleksandr Efimov
An HdfsScanNode with the count(*) optimization returns one row per file or row group, so its cardinality is the file count. HdfsScanNode.generateHboKeyString() does not include countStarSlot_, so HBO stores this run under the same key as a regular scan of the same table and conjuncts. The next regular scan takes the file count as its cardinality.
Seen on a Parquet table with 15 files and 13.66M rows: after {{SELECT count(*) FROM t}}, {{SELECT * FROM t}} is planned with {{cardinality=15 (from HBO)}}. The memory estimates above the scan follow it, and so does the per-query memory limit when admission control derives it from the estimate. A regular scan that runs later fixes the record, because the last run wins.
Reproduce: on a Parquet table with more than one file and no HBO record, run {{SELECT count(*) FROM t}}, then {{EXPLAIN SELECT * FROM t}}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org