ParquetFileWriter.end() flushes an incomplete file to storage when finalizing fails
- Langage dominant
- Java
- Étoiles
- 3.1k
- Forks
- 1.6k
- Merge moyen
- 3 j 12 h
- PR mergées (30 j)
- 33
Description
### 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
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- data-engineering
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 48/100