apache / apache/iceberg-python
Why non-atomic delete and upsert?
- Langage dominant
- Python
- Étoiles
- 1.1k
- Forks
- 581
- Merge moyen
- 1 j 17 h
- PR mergées (30 j)
- 78
Description
### Question
The implementation of the `delete` and `upsert` operation make an deliberate choice to create multiple snapshots, breaking the atomicity expectation.
For example, if I start a `delete` operation to remove some entries, I do not expect consumers of the data to see a snapshot with some but not all of the entries gone.
Given that the implementation choice looks very deliberate, I'm curious about the rationale for it?
It seems that other clients of the library expect atomic operation as well, for example https://github.com/apache/iceberg-python/issues/3076
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
L’issue ne nomme aucun fichier, test ou point d’entrée ; commencez par localiser les implémentations de delete et upsert dans PyIceberg et par examiner la manière dont elles créent des snapshots. Déterminez si le comportement observé avec plusieurs snapshots est intentionnel, puis documentez-en la raison ou définissez le comportement atomique requis avant d’effectuer une modification.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- data-engineering, databases
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Calme
- Clarté
- À clarifier
- Accessibilité débutants
- 35/100