diff --git a/Cargo.lock b/Cargo.lock index f843d234c8..5db2133fd6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2572,7 +2572,9 @@ checksum = "b07db065a5cf61a7e4ba64f29e67db906fb1787316516c4e6e5ff0fea1efcd8a" [[package]] name = "yakv" -version = "0.2.5" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3aba428668b9459f60e48264aa9742f1648d24f6a7dd83c8cc73278797131d8f" dependencies = [ "anyhow", "fs2", diff --git a/pageserver/src/buffered_repository.rs b/pageserver/src/buffered_repository.rs index 224ac8f3c4..234d5a8bd5 100644 --- a/pageserver/src/buffered_repository.rs +++ b/pageserver/src/buffered_repository.rs @@ -1807,8 +1807,8 @@ impl BufferedTimeline { && inner.brin.get(&seg_tag).map_or(true, |lsn| *lsn <= last_gc) { // This segment was not update since last GC: jump to next one - let mut iter = inner.brin.range((Excluded(seg_tag), Unbounded)); - while let Some((next_seg, lsn)) = iter.next() { + let iter = inner.brin.range((Excluded(seg_tag), Unbounded)); + for (next_seg, lsn) in iter { if *lsn > last_gc { from = StoreKey::Data(DataKey { rel: next_seg.rel, diff --git a/pageserver/src/toast_store.rs b/pageserver/src/toast_store.rs index 0c8cc62a6a..f48fbdeceb 100644 --- a/pageserver/src/toast_store.rs +++ b/pageserver/src/toast_store.rs @@ -228,9 +228,9 @@ impl ToastStore { Ok(()) } - pub fn tx_remove(&self, tx: &mut Transaction, key: &Key) -> Result<()> { - let mut min_key = key.clone(); - let mut max_key = key.clone(); + pub fn tx_remove(&self, tx: &mut Transaction, key: &[u8]) -> Result<()> { + let mut min_key = key.to_vec(); + let mut max_key = key.to_vec(); min_key.extend_from_slice(&[0u8; 4]); max_key.extend_from_slice(&[0xFFu8; 4]); let mut iter = tx.range(&min_key..&max_key);