Skip to content
Snippets Groups Projects
Commit 1be78837 authored by Yaroslav Dynnikov's avatar Yaroslav Dynnikov Committed by Yaroslav Dynnikov
Browse files

chore: use let-else statements instead of a macro

parent 0baa0fdb
No related branches found
No related tags found
1 merge request!342chore: use let-else statements instead of a macro
Pipeline #13320 passed
......@@ -975,7 +975,7 @@ fn postjoin(args: &args::Run, storage: Storage) {
.with_target_grade(TargetGrade::Online)
.with_failure_domain(args.failure_domain());
let leader_id = unwrap_some_or!(node.status().leader_id, continue);
let Some(leader_id) = node.status().leader_id else { continue };
let leader = storage.peers.get(&leader_id).unwrap();
// It's necessary to call `proc_update_peer` remotely on a
......
......@@ -8,7 +8,6 @@ use crate::traft::CurrentGrade;
use crate::traft::Peer;
use crate::traft::RaftId;
use crate::traft::TargetGrade;
use crate::unwrap_some_or;
struct RaftConf<'a> {
all: BTreeMap<RaftId, &'a Peer>,
......@@ -88,11 +87,10 @@ pub(crate) fn raft_conf_change(
Some(peer @ Peer {target_grade: TargetGrade::Offline, ..}) => {
// A voter goes offline. Replace it with
// another online instance if possible.
let replacement = peers.iter().find(|peer| {
let Some(replacement) = peers.iter().find(|peer| {
peer.has_grades(CurrentGrade::Online, TargetGrade::Online)
&& !raft_conf.voters.contains(&peer.raft_id)
});
let replacement = unwrap_some_or!(replacement, continue);
}) else { continue };
let ccs1 = raft_conf.change_single(AddLearnerNode, peer.raft_id);
let ccs2 = raft_conf.change_single(AddNode, replacement.raft_id);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment