hyper: "request exceeding maximum allowed size for request" when reading a Parquet file with large row groups
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 12/100
Rechercherichtung
The failure comes from Hyper's loader, which is closed source, so the first step is the reproduction in the issue: rewrite hits.parquet with 4M-row row groups using the clickhouse local command shown, then run the hyper/load script on it. The Hyper side cannot be changed from this repository, so a useful contribution is a verified reproduction or a documented limit, not a code patch. Done means the failure is confirmed or ruled out and the row-group limits are recorded.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Hyper fails to load a Parquet file with large row groups:
tableauhyperapi.hyperexception.HyperException: request exceeding maximum allowed size for request:
line 109, column 6: FROM hits_parquet
^~~~~~~~~~~~
Context: 0xfa6b0e2f
This happened in the randomized benchmark (https://github.com/ClickHouse/ClickBench/pull/3271), which loads a generated dataset of a billion rows with the schema of hits.parquet, in one file, using hyper/load unchanged (tableauhyperapi 0.0.26963, c6a.metal). The file was written by ClickHouse 26.10 with about 250 row groups of 4M rows each (Snappy compression; the original hits.parquet has 226 row groups of 442K rows). Its footer was about 3.4 MB, so this is a different limit from the size of the footer (https://github.com/ClickHouse/ClickBench/issues/3291). The other systems of the benchmark loaded the same file.
Probable reproduction with the standard dataset (I could not run Hyper here, so it is not verified): rewrite hits.parquet with row groups of 4M rows and load it with hyper/load:
clickhouse local --output_format_parquet_row_group_size 4000000 --output_format_parquet_row_group_size_bytes 100000000000 \
--query "SELECT * FROM file('hits.parquet') INTO OUTFILE 'hits-large-groups.parquet' TRUNCATE FORMAT Parquet"
Together with the limit of the footer, this bounds how many rows one Parquet file can have for Hyper: too many row groups exceed the footer, too large ones exceed this limit. The randomized benchmark now writes at most a thousand row groups of at least 500K rows (1M rows each for a billion rows) to fit both. What is the limit of the size of a request, and could it be raised or made configurable for reading Parquet?
@caetanosauer
🤖 Generated with Claude Code
- Vorherrschende Sprache
- Shell
- Sterne
- 1.2k
- Forks
- 334
- Ø Merge
- 3 Std. 50 Min.
- Gemergte PRs (30 T.)
- 710
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus ClickHouse/ClickBench
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
ClickHouse/ClickBench#3292 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 15/100
ClickHouse/ClickBench#3291 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 5/100
ClickHouse/ClickBench#3288 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
ClickHouse/ClickBench#2650 ·
Maintainer antworten meist innerhalb von 1 Tag
-
doris-parquet-single fails before measurement on c6a.xlarge: FE cannot commit its 8 GiB initial heapOffen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
ClickHouse/ClickBench#2208 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in ClickHouse/ClickBench
Ähnliche Issues
-
good first issue help wanted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
-
documentation good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug good first issue help wanted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
laaielichter/Godotwright#213 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
laaielichter/AgentHaven#72 ·
Maintainer antworten meist innerhalb von 1 Tag
-
type: cleanup
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
googleapis/google-cloud-swift#1626 ·
Maintainer antworten meist innerhalb von 1 Tag