apache / apache/parquet-java

InternalParquetRecordWriter doesn't immediately limit current row group to threshold

Ouverte
#2,441 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Component: Java Component: Parquet Priority: Major Type: bug
Langage dominant
Java
Étoiles
3.1k
Forks
1.6k
Merge moyen
3 j 12 h
PR mergées (30 j)
33

Description

The MemoryManager adjust the row group size threshold of writers when the allocated memory pool fills up.
**Problem**: However InternalParquetRecordWriter only re-adjusts the row group size on the next flush meaning they still use the old size.
This opens up a possibility of getting an OOM error if all writers are started at relatively the same time and progress in tandem(I saw this when investigating failing jobs while writing to disk in Spark)

**Reporter**: [Brian Mwambazi](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=brimzi) / @brimzi
#### PRs and other links:
- [GitHub Pull Request #748](https://github.com/apache/parquet-mr/pull/748)

**Note**: *This issue was originally created as [PARQUET-1767](https://issues.apache.org/jira/browse/PARQUET-1767). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par examiner GitHub Pull Request #748 ainsi que les points d’entrée InternalParquetRecordWriter et MemoryManager mentionnés dans l’issue. Confirmez comment le seuil du row group est mis à jour lorsque le pool de mémoire est plein, et vérifiez que les writers cessent immédiatement d’utiliser l’ancien seuil afin que les writers parallèles ne risquent pas de provoquer un OOM.

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é
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.