Skip to content

[python] Use conditional S3 puts for atomic metadata writes - #9881

Closed
XiaoHongbo-Hope wants to merge 1 commit into
apache:masterfrom
XiaoHongbo-Hope:codex/atomic-s3-snapshot-commit
Closed

XiaoHongbo-Hope wants to merge 1 commit into
apache:masterfrom
XiaoHongbo-Hope:codex/atomic-s3-snapshot-commit

Conversation

@XiaoHongbo-Hope

@XiaoHongbo-Hope XiaoHongbo-Hope commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

PyArrow S3 move() can overwrite snapshot or schema metadata when concurrent writers both see the path as absent. Use a signed conditional PutObject so only one S3 writer can publish it. OSS atomic writes are covered by #9715.

Tests: 26 S3/OSS atomic-write tests and 44 FileIO/OSS filesystem tests passed locally (Python 3.11, PyArrow 18). Real S3 was not tested.

@XiaoHongbo-Hope
XiaoHongbo-Hope force-pushed the codex/atomic-s3-snapshot-commit branch from 9e74410 to 826f7b7 Compare September 16, 2026 09:20
@XiaoHongbo-Hope XiaoHongbo-Hope changed the title [python] Prevent concurrent S3 metadata overwrites [python] Prevent concurrent S3/OSS metadata overwrites Sep 16, 2026
@XiaoHongbo-Hope
XiaoHongbo-Hope force-pushed the codex/atomic-s3-snapshot-commit branch from 826f7b7 to 21dca66 Compare September 16, 2026 11:58
@XiaoHongbo-Hope XiaoHongbo-Hope changed the title [python] Prevent concurrent S3/OSS metadata overwrites [python] Prevent concurrent S3 metadata overwrites Sep 16, 2026
@XiaoHongbo-Hope XiaoHongbo-Hope changed the title [python] Prevent concurrent S3 metadata overwrites [python] Use conditional S3 puts for atomic metadata writes Sep 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant