apache / apache/iceberg-python

Possible read-after-write consistency issue with multiple schema migration steps in Iceberg tables on AWS Glue + S3

未關閉
#2,599 2 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Python
星號
1.1k
分支
581
平均合併
1 天 13 小時
30 天內合併 PR
76

描述

### Apache Iceberg version

Pyiceberg 0.10.0
Pyiceberg-core 0.6.0

### Please describe the bug 🐞

This may be a hard one to pin down but I noticed that multiple schema migration steps executed sequentially in the same `update_schema` context *sometimes* result in Exceptions like column name not found when using Iceberg tables on AWS Glue. An example:

```python
with table.update_schema() as update:
update.rename_column("some_column", "renamed_column")
update.move_first("renamed_column") # this sometimes fails with an error
# that renamed column doesn't exist
```

I have not noticed it with other back-ends like SQLite, leading me to believe it is a Glue issue specifically where a write may not yet be reflected by the time of the next operation.

### Willingness to contribute

- [ ] I can contribute a fix for this bug independently
- [x] I would be willing to contribute a fix for this bug with guidance from the Iceberg community
- [ ] I cannot contribute a fix for this bug at this time

貢獻指南

這個儲存庫沒有索引到貢獻指南

研究方向

從 table.update_schema() 流程開始,在 AWS Glue 和 S3 上重現先執行 rename_column、再執行 move_first 的順序範例,並與 SQLite 進行比較。追蹤第一次 schema 寫入是否在下一個操作之前可見。完成標準是解釋清楚該不一致性,並新增回歸測試,或明確記錄剩餘的後端限制。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
aws, python
領域
cloud, databases
Issue 類型
缺陷
難度
4/5
預估耗時
3-5 天
活躍度
冷清
描述清晰度
基本清楚
新手友好度
45/100

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

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