Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add loom simulations of spfs clean data race
$ cargo test --bin clean-loom This shows three variations on how `spfs clean` can race with writers to a repo. The first one tries to simulate the existing behavior and the test fails as expected. The other two demonstrate how a write-ahead log might prevent races. The first one requires the write-ahead log to be locked while reading in all the tags, which in turn would block writes for a significant amount of time. The second one proposes how the write-ahead log could be pruned over time with a kakfa-like tombstone concept, and only requires the log to be locked while actually deleting files. In either case, the time while the write-ahead log is locked could early exit in order to not block writers for an extended amount of time. In this way it could make incremental progress by deleting some number of objects in each pass. Signed-off-by: J Robert Ray <jrray@jrray.org>
- Loading branch information