diff options
| author | tv <tv@krebsco.de> | 2026-10-24 22:08:31 +0200 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-10-24 22:08:31 +0200 |
| commit | fb69457988065a149a924c25a681efba097185f3 (patch) | |
| tree | dc47b6388c9cbbf6bfd1b04571c28b6745e26d47 /src/remake/switch.rs | |
| parent | 326c25618eb0a2e77b98f7efe933d7f74fb32dc0 (diff) | |
allow superseding expired remakes
Diffstat (limited to 'src/remake/switch.rs')
| -rw-r--r-- | src/remake/switch.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/remake/switch.rs b/src/remake/switch.rs index e4644fb..cf5ea75 100644 --- a/src/remake/switch.rs +++ b/src/remake/switch.rs @@ -105,6 +105,10 @@ async fn check<H: Host>(host: &H) { let (id, record) = match committed.as_slice() { // Nothing committed here; maybe peers moved on without us. [] => return catchup::check(host).await, + [(id, record)] if record.contested => { + error!(remake = %id, "Decisions on this remake disagree; not switching on my own"); + return catchup::check(host).await; + } [(id, record)] => (id.clone(), record.clone()), several => { // Majority voting prevents this; never guess which one is right. Peers |
