apache / apache/iceberg-python

Why non-atomic delete and upsert?

未關閉
#3,577 0 則留言 1 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
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

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。