[16] Make local installs atomic and concurrency-safe - #545
Conversation
|
Carry-over review from PR #502 (old PR for #456). This PR is strictly more complete than #502 (no unsafe, real stale-staging GC with owner-lock probing, interruption tested on both sides of the rename, power-loss-durable fsyncs, cross-platform sidecar invalidation, single commit-lock design). No sdairs review comments existed on #502 (its only review was an LGTM), so no carry-over concerns. Three items to address before merge:
Minor: the |
7f68e8a to
f445404
Compare
4d6e1c8 to
8882a2e
Compare
8882a2e to
f53fe98
Compare
f53fe98 to
aa8b340
Compare
aa8b340 to
eba0288
Compare
eba0288 to
ceb4711
Compare
ceb4711 to
7052c22
Compare
7052c22 to
3918675
Compare
0955366 to
47dbbc4
Compare
47dbbc4 to
063a1cd
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 063a1cd. Configure here.
0e4fe54 to
857ef90
Compare
857ef90 to
c6c89db
Compare
c6c89db to
80b0c24
Compare

Summary
local removewith install commits and require durable sidecar invalidation before deletion, preventing a successful removal from leaving stale master stateTests
cargo test -p clickhousectl version_manager::install::tests:: -- --test-threads=1(repeated)cargo test -p clickhousectlcargo fmt --all -- --checkcargo clippy -p clickhousectl --all-targets -- -D warningsCloses #456