Skip to content

hyper-parquet: Fix caching of Parquet files and add single-file variant#971

Open
caetanosauer wants to merge 1 commit into
ClickHouse:mainfrom
caetanosauer:hyper-parquet-persistent-external-plancache
Open

hyper-parquet: Fix caching of Parquet files and add single-file variant#971
caetanosauer wants to merge 1 commit into
ClickHouse:mainfrom
caetanosauer:hyper-parquet-persistent-external-plancache

Conversation

@caetanosauer

Copy link
Copy Markdown
Contributor

The hyper-parquet harness created a TEMP external table per ./query
connection. With the persistent-server model (issue #936) the driver
opens a fresh connection per try. This caused our plan cache to be wiped,
requiring re-sampling the data on every hot run as well. To properly
test a cached scenario, this commit changes our harness to create
persistent external tables and maintain an attached database throughout
the server's lifetime. The query iterations themselves still open a
fresh connection each time.

We also introduce the single variant for the parquet lane, now
reporting both hyper-parquet-single and hyper-parquet-partitioned.

As a drive-by change, we also drop ::bigint casts from ClickBench Q29,
since those are not needed anymore, matching the queries used by other
systems as well.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

@caetanosauer

Copy link
Copy Markdown
Contributor Author

@rschu1ze Would appreciate if you can take a look at this one. Thanks!

@rschu1ze

Copy link
Copy Markdown
Member

Sorry, I'm rather busy this week, expect some delay. In the meantime, maybe you could resolve the merge conflicts?

The hyper-parquet harness created a TEMP external table per ./query
connection. With the persistent-server model (issue ClickHouse#936) the driver
opens a fresh connection per try. This caused our plan cache to be wiped,
requiring re-sampling the data on every hot run as well. To properly
test a cached scenario, this commit changes our harness to create
persistent external tables and maintain an attached database throughout
the server's lifetime. The query iterations themselves still open a
fresh connection each time.

We also introduce the `single` variant for the parquet lane, now
reporting both `hyper-parquet-single` and `hyper-parquet-partitioned`.

As a drive-by change, we also drop ::bigint casts from ClickBench Q29,
since those are not needed anymore, matching the queries used by other
systems as well.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@caetanosauer caetanosauer force-pushed the hyper-parquet-persistent-external-plancache branch from f5e8c1e to c44a0dc Compare July 13, 2026 10:54
@caetanosauer

Copy link
Copy Markdown
Contributor Author

@rschu1ze No worries, thanks for the quick reply. Conflicts resolved now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants