apache / apache/iceberg-python
Why non-atomic delete and upsert?
- Vorherrschende Sprache
- Python
- Sterne
- 1.1k
- Forks
- 581
- Ø Merge
- 1 T. 17 Std.
- Gemergte PRs (30 T.)
- 78
Beschreibung
### 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
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Das Issue nennt keine Dateien, Tests oder Einstiegspunkte; beginne damit, die Implementierungen von delete und upsert in PyIceberg zu finden und zu überprüfen, wie sie Snapshots erstellen. Ermittle, ob das beobachtete Verhalten mit mehreren Snapshots beabsichtigt ist, und dokumentiere anschließend die Begründung oder definiere das erforderliche atomare Verhalten, bevor du eine Änderung vornimmst.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- data-engineering, databases
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100