fangorn/ex_git_objectstore
public
ref:main
Add atomic ref updates for S3 backend #8
open
Opened by cole.christensen@gmail.com
Links
No links yet.
Problem
S3 has no native compare-and-swap (CAS) operation. The current S3 backend’s put_ref is inherently racy — concurrent writers can silently overwrite each other’s ref updates, potentially losing commits.
Impact
- Data loss in multi-writer scenarios
- Cannot safely serve as a push target with concurrent users
- Documented limitation but unresolved
Acceptance Criteria
- External coordination mechanism for S3 ref atomicity (DynamoDB, Redis, or similar)
- CAS semantics match filesystem backend behavior
- Configurable: users can opt into the coordination layer
- Graceful degradation if coordination service is unavailable
- Tests covering concurrent ref update race conditions
- Documentation on setup and configuration