Feature Status: Idempotency IDs
- Dominant language
- C++
- Stars
- 16.7k
- Forks
- 1.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 126
Description
We heavily rely on Idempotency IDs ([automatic-idempotency.html](https://apple.github.io/foundationdb/automatic-idempotency.html)) to handle automatic transaction retries introduced in FDB 7.3.0+ (see [this analysis](https://pierrezemb.fr/posts/automatic-txn-fdb-730/)). However, this feature is not listed in [feature-status.md](https://github.com/apple/foundationdb/blob/main/design/feature-status.md).
I found two related issues (#11446 on idempotency ID implementation and #10312 on automatic cleanup) but the overall feature status remains unclear.
The documentation mentions important caveats: it only prevents `commit_unknown_result` (not `transaction_timed_out` or `cluster_version_changed`), and it's not recommended for Multi-version client users. The Multi-version client limitation is particularly concerning as it's commonly used in production environments. Given these limitations, could you clarify:
Is this feature production-ready, and in which FDB versions?
What's the Long Term status?
Are there other issues or PRs related to this feature that I should be aware of?
I'm happy to help with any remaining work if needed, though I'd need some guidance to get started as this would be my first Flow/C++ oriented PR.
Contributor guide
Research direction
Start with design/feature-status.md and automatic-idempotency.html, then review issues #11446 and #10312 and the linked analysis. Determine the supported FDB versions, long-term status, and Multi-version client limitations from the existing discussion and documentation. Done means the feature status and related references clearly answer those questions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- databases, documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100