From e56681a2f62f0acb4551e6cbd4c9f3ecea6271f9 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 19 Jan 2021 03:42:59 +0000 Subject: [PATCH] Make Bigtable::get_confirmed_blocks inclusive of requested start_slot and end_slot (#14651) (#14655) * Fix off-by-one error * Filter out blocks greater than end slot (cherry picked from commit cbf8ef74801e7fc4e0b70f58ff332367c83f75e0) Co-authored-by: Tyera Eulberg --- core/src/rpc.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/src/rpc.rs b/core/src/rpc.rs index de1dc73762..56a3f68abf 100644 --- a/core/src/rpc.rs +++ b/core/src/rpc.rs @@ -732,8 +732,12 @@ impl JsonRpcRequestProcessor { .runtime_handle .block_on( bigtable_ledger_storage - .get_confirmed_blocks(start_slot, (end_slot - start_slot) as usize), + .get_confirmed_blocks(start_slot, (end_slot - start_slot) as usize + 1), // increment limit by 1 to ensure returned range is inclusive of both start_slot and end_slot ) + .map(|mut bigtable_blocks| { + bigtable_blocks.retain(|&slot| slot <= end_slot); + bigtable_blocks + }) .unwrap_or_else(|_| vec![])); } }