Make RevisionList thread-safe and atomically persistent #5
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.
Changelog: Fix | Feature: Redesign
RevisionListfor thread-safe, atomic, and distributed revision updates. This resolves critical concurrency issues and enables robust multi-server deployments.Docs: This PR includes extensive documentation within the codebase:
README_REVISIONLIST_REDESIGN.md. A separate PR will be opened in the Conan docs repo.This PR addresses the critical need for thread-safe revision updates with atomic persistence across distributed server instances, preventing data corruption and lost updates.
The current
RevisionListimplementation suffers from:This redesign introduces a multi-tier solution:
threading.RLockforRevisionListand atomic file operations inServerDiskAdapterto ensure thread-safe, single-server updates.developbranch, documenting this one.