docs(ssi): retract overclaimed serializability guarantees - #141
Merged
Conversation
Outside review (#136-#140) showed the SSI docs describe the intended design, not the delivered behavior. Correct them now rather than after the fixes, so we are not shipping a promise we do not keep: - rfc/0003: drop 'the commit-time pivot check is race-free against concurrent edge recording' and 'markers are reclaimed incrementally AND BOUNDED'; add a Known-limitations section naming #136 (write skew can commit when a conflicting write lands inside DB_TXN->commit; plus the separate different-pages-of-one-btree observation), #137/#138 (reader bookkeeping not fully reclaimed -> mutex-region exhaustion), #140 (DB_LOCK_SIREAD unaccounted in the replication commit lock-list sizing). The section is removed only when each item is fixed AND covered by a test. - docs_src/api/c/txnbegin.md: add a user-facing Known-limitation note under DB_TXN_SNAPSHOT so applications do not rely on serializability alone yet. No engine change; the fixes are in flight separately.
Coccinelle convention checksNo new violations. ✅ Resolved since baseline (2) -- update dist/cocci/baseline.txt to lock these in. |
ABI diff vs
|
This was referenced Sep 6, 2026
Closed
libdb 5.3.34: incomplete replication commit lock lists can violate client transaction isolation
#140
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Outside review (#136–#140) showed the SSI docs describe the intended design, not the delivered behavior. Correcting them now, rather than after the fixes, so we are not shipping a promise we don't keep.
rfc/0003— drop "the commit-time pivot check is race-free against concurrent edge recording" and "markers are reclaimed incrementally and bounded". Add a Known limitations section naming libdb 5.3.34: DB_TXN_SNAPSHOT commits a write skew when the second write starts during the first commit #136 (write skew can commit when a conflicting write lands insideDB_TXN->commit, plus the separate different-pages-of-one-btree observation), libdb 5.3.34: sequential read-only DB_TXN_SNAPSHOT transactions eventually cause DB_ENV->txn_begin to return ENOMEM #137/libdb 5.3.34: __txn_reap_si_details leaks MVCC mutex slots during snapshot cleanup #138 (reader bookkeeping not fully reclaimed → mutex-region exhaustion), and libdb 5.3.34: incomplete replication commit lock lists can violate client transaction isolation #140 (DB_LOCK_SIREADunaccounted in the replication commit lock-list sizing). The section is removed only when each item is fixed and covered by a test.docs_src/api/c/txnbegin.md— user-facing Known-limitation note underDB_TXN_SNAPSHOT, so applications don't rely on serializability alone yet.No engine change. The five fixes are in flight on separate branches; this is the honesty fix that shouldn't wait for them.
Related: #136, #137, #138, #139, #140