ParquetFileWriter.end() flushes an incomplete file to storage when finalizing fails
- Lingua principale
- Java
- Stelle
- 3.1k
- Fork
- 1.6k
- Merge medio
- 3g 12h
- PR unite (30g)
- 33
Descrizione
### Describe the bug, including details regarding any error messages, version, and platform.
close() in end()'s finally runs before the writer is marked aborted, so a failure serializing indexes/bloom filters/footer flushes the incomplete stream. And withAbortOnFailure only catches IOException, so a RuntimeException/Error (e.g. OOM) never aborts at all. On non-rename storage this leaves a corrupt file at the final path that a retried task silently reuses. Affects the parquet-hadoop writer path on master, any platform.
### Component(s)
Core
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Start by locating ParquetFileWriter.end() and withAbortOnFailure in the parquet-hadoop writer path, then trace the finally block and failure handling around serialization and close(). Check existing writer-finalization tests, if present. Done means serialization failures, including non-IOException failures, abort without flushing an incomplete file to the final path.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- data-engineering
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 48/100