From 84f7dcd052e538b24cfe688c8ed8a4d4f47aa664 Mon Sep 17 00:00:00 2001 From: Max Sharnoff Date: Fri, 1 Oct 2021 15:45:42 -0700 Subject: [PATCH] Fix clippy errors on nightly (2021-09-29) (#691) Most of the changes are for the new if-then-panic lint added in https://github.com/rust-lang/rust-clippy/pull/7669. --- control_plane/src/compute.rs | 4 +-- pageserver/src/layered_repository.rs | 13 +++++---- .../src/layered_repository/interval_tree.rs | 27 +++++++++---------- pageserver/src/tenant_mgr.rs | 2 +- pageserver/src/walredo.rs | 8 +++--- zenith_utils/src/lsn.rs | 4 +-- 6 files changed, 26 insertions(+), 32 deletions(-) diff --git a/control_plane/src/compute.rs b/control_plane/src/compute.rs index 0b13889c9f..f33d77720c 100644 --- a/control_plane/src/compute.rs +++ b/control_plane/src/compute.rs @@ -452,9 +452,7 @@ impl PostgresNode { .output() .expect("failed to execute whoami"); - if !output.status.success() { - panic!("whoami failed"); - } + assert!(output.status.success(), "whoami failed"); String::from_utf8(output.stdout).unwrap().trim().to_string() } diff --git a/pageserver/src/layered_repository.rs b/pageserver/src/layered_repository.rs index 6ccf2f76c9..ee3fa01887 100644 --- a/pageserver/src/layered_repository.rs +++ b/pageserver/src/layered_repository.rs @@ -1247,13 +1247,12 @@ impl LayeredTimeline { assert!(lsn.is_aligned()); let last_record_lsn = self.get_last_record_lsn(); - if lsn <= last_record_lsn { - panic!( - "cannot modify relation after advancing last_record_lsn (incoming_lsn={}, last_record_lsn={})", - lsn, - last_record_lsn - ); - } + assert!( + lsn > last_record_lsn, + "cannot modify relation after advancing last_record_lsn (incoming_lsn={}, last_record_lsn={})", + lsn, + last_record_lsn, + ); // Do we have a layer open for writing already? let layer; diff --git a/pageserver/src/layered_repository/interval_tree.rs b/pageserver/src/layered_repository/interval_tree.rs index c98b393b90..978ecd837e 100644 --- a/pageserver/src/layered_repository/interval_tree.rs +++ b/pageserver/src/layered_repository/interval_tree.rs @@ -283,6 +283,7 @@ mod tests { write!(f, "{}", self.val) } } + #[rustfmt::skip] fn assert_search( tree: &IntervalTree, key: u32, @@ -291,24 +292,20 @@ mod tests { if let Some(v) = tree.search(key) { let vstr = v.to_string(); - if expected.is_empty() { - panic!("search with {} returned {}, expected None", key, v); - } + assert!(!expected.is_empty(), "search with {} returned {}, expected None", key, v); + assert!( + expected.contains(&vstr.as_str()), + "search with {} returned {}, expected one of: {:?}", + key, v, expected, + ); - if !expected.contains(&vstr.as_str()) { - panic!( - "search with {} returned {}, expected one of: {:?}", - key, v, expected - ); - } Some(v) } else { - if !expected.is_empty() { - panic!( - "search with {} returned None, expected one of {:?}", - key, expected - ); - } + assert!( + expected.is_empty(), + "search with {} returned None, expected one of {:?}", + key, expected + ); None } } diff --git a/pageserver/src/tenant_mgr.rs b/pageserver/src/tenant_mgr.rs index 3258ab2567..76c5511050 100644 --- a/pageserver/src/tenant_mgr.rs +++ b/pageserver/src/tenant_mgr.rs @@ -70,7 +70,7 @@ pub fn insert_repository_for_tenant(tenantid: ZTenantId, repo: Arc Result> { let o = &REPOSITORY.lock().unwrap(); o.get(&tenantid) - .map(|repo| Arc::clone(repo)) + .map(Arc::clone) .ok_or_else(|| anyhow!("repository not found for tenant name {}", tenantid)) } diff --git a/pageserver/src/walredo.rs b/pageserver/src/walredo.rs index 7c3e1954ea..f233fceb3e 100644 --- a/pageserver/src/walredo.rs +++ b/pageserver/src/walredo.rs @@ -298,9 +298,11 @@ impl PostgresRedoManager { // Transaction manager stuff let rec_segno = match rel { RelishTag::Slru { slru, segno } => { - if slru != SlruKind::Clog { - panic!("Not valid XACT relish tag {:?}", rel); - } + assert!( + slru == SlruKind::Clog, + "Not valid XACT relish tag {:?}", + rel + ); segno } _ => panic!("Not valid XACT relish tag {:?}", rel), diff --git a/zenith_utils/src/lsn.rs b/zenith_utils/src/lsn.rs index 1afd8fb962..ffe49e9f38 100644 --- a/zenith_utils/src/lsn.rs +++ b/zenith_utils/src/lsn.rs @@ -192,9 +192,7 @@ impl AtomicLsn { /// This operation will panic on overflow. pub fn fetch_add(&self, val: u64) -> Lsn { let prev = self.inner.fetch_add(val, Ordering::AcqRel); - if prev.checked_add(val).is_none() { - panic!("AtomicLsn overflow"); - } + assert!(prev.checked_add(val).is_some(), "AtomicLsn overflow"); Lsn(prev) }