feat: add eventually consistent metadata store for cross-replica coordination#229
Merged
alecthomas merged 1 commit intomainfrom Mar 27, 2026
Merged
feat: add eventually consistent metadata store for cross-replica coordination#229alecthomas merged 1 commit intomainfrom
alecthomas merged 1 commit intomainfrom
Conversation
15fc2d6 to
88e1569
Compare
…dination Introduces the metadatadb package, providing generic redis-like data structures (Scalar, Int, Set, Map, List) backed by a pluggable storage layer. Mutations apply locally immediately and sync periodically via a lock-load-replay-store cycle. Includes memory and S3 backends, a reusable test suite, and a soak test with monotonic invariant verification. Also extracts MinIO Docker test helpers into internal/minitest for reuse across cache and metadatadb S3 tests. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
88e1569 to
7eb7de0
Compare
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.
This will initially be used for tracking a repo access histogram, but we
can also reuse this for a simpler version of the cache-invalidation (#38)
design.
Introduces the metadatadb package, providing generic redis-like data
structures (Scalar, Int, Set, Map, IntMap, List) backed by a pluggable storage
layer. Mutations apply locally immediately and sync periodically via a
lock-load-replay-store cycle. Includes memory and S3 backends, a
reusable test suite, and a soak test with monotonic invariant
verification.
Also extracts MinIO Docker test helpers into internal/minitest for
reuse across cache and metadatadb S3 tests.
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com