apache / apache/iceberg-python
Why non-atomic delete and upsert?
- 主要語言
- Python
- 星號
- 1.1k
- 分支
- 581
- 平均合併
- 1 天 13 小時
- 30 天內合併 PR
- 76
描述
### 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
貢獻指南
這個儲存庫沒有索引到貢獻指南
研究方向
該 issue 未指定檔案、測試或進入點;首先定位 PyIceberg 中 delete 和 upsert 的實作,並檢視它們如何建立快照。確定觀察到的多個快照行為是否是有意設計的,然後在進行變更之前記錄其依據或定義所需的原子行為。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- python
- 領域
- data-engineering, databases
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 冷清
- 描述清晰度
- 需要釐清
- 新手友好度
- 35/100