From 4b6563a55d3af436cc26361b7e570b98f54ac11d Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Thu, 27 May 2021 20:50:45 +0300 Subject: [PATCH] Little cleanup on `save_decoded_record` function Pass DecodedWALRecord by reference, seems nicer, and probably marginally faster. --- pageserver/src/restore_local_repo.rs | 8 ++++---- pageserver/src/walreceiver.rs | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pageserver/src/restore_local_repo.rs b/pageserver/src/restore_local_repo.rs index 0d7e4ae508..3cfebe7e63 100644 --- a/pageserver/src/restore_local_repo.rs +++ b/pageserver/src/restore_local_repo.rs @@ -221,7 +221,7 @@ pub fn import_timeline_wal(walpath: &Path, timeline: &dyn Timeline, startpoint: } if let Some((lsn, recdata)) = rec.unwrap() { let decoded = decode_wal_record(recdata.clone()); - save_decoded_record(timeline, decoded, recdata, lsn)?; + save_decoded_record(timeline, &decoded, recdata, lsn)?; last_lsn = lsn; } else { break; @@ -249,12 +249,12 @@ pub fn import_timeline_wal(walpath: &Path, timeline: &dyn Timeline, startpoint: /// pub fn save_decoded_record( timeline: &dyn Timeline, - decoded: DecodedWALRecord, + decoded: &DecodedWALRecord, recdata: Bytes, lsn: Lsn, ) -> Result<()> { - // Figure out which blocks the record applies to, and "put" a separate copy - // of the record for each block. + // Iterate through all the blocks that the record modifies, and + // "put" a separate copy of the record for each block. for blk in decoded.blocks.iter() { let tag = BufferTag { rel: RelTag { diff --git a/pageserver/src/walreceiver.rs b/pageserver/src/walreceiver.rs index c24cf64690..7cdf880e7b 100644 --- a/pageserver/src/walreceiver.rs +++ b/pageserver/src/walreceiver.rs @@ -185,7 +185,7 @@ fn walreceiver_main( while let Some((lsn, recdata)) = waldecoder.poll_decode()? { let decoded = decode_wal_record(recdata.clone()); - restore_local_repo::save_decoded_record(&*timeline, decoded, recdata, lsn)?; + restore_local_repo::save_decoded_record(&*timeline, &decoded, recdata, lsn)?; last_rec_lsn = lsn; }