From 916646a984c86e34066188f594a5003b7d554834 Mon Sep 17 00:00:00 2001 From: Jeb Bearer Date: Sat, 16 Nov 2024 09:55:02 -0800 Subject: [PATCH] Decrease DB load by not storing full payload with anchor leaf --- sequencer/src/persistence/sql.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sequencer/src/persistence/sql.rs b/sequencer/src/persistence/sql.rs index 24e4a5db54..70ec3f3bfb 100644 --- a/sequencer/src/persistence/sql.rs +++ b/sequencer/src/persistence/sql.rs @@ -338,8 +338,15 @@ impl SequencerPersistence for Persistence { let values = leaf_chain .into_iter() .map(|(info, qc)| { + // The leaf may come with a large payload attached. We don't care about this payload + // because we already store it separately, as part of the DA proposal. Storing it + // here contributes to load on the DB for no reason, so we remove it before + // serializing the leaf. + let mut leaf = info.leaf.clone(); + leaf.unfill_block_payload(); + let view = qc.view_number.u64() as i64; - let leaf_bytes = bincode::serialize(&info.leaf)?; + let leaf_bytes = bincode::serialize(&leaf)?; let qc_bytes = bincode::serialize(&qc)?; Ok((view, leaf_bytes, qc_bytes)) })