From cbf8ef74801e7fc4e0b70f58ff332367c83f75e0 Mon Sep 17 00:00:00 2001 From: Tyera Eulberg Date: Mon, 18 Jan 2021 19:14:10 -0700 Subject: [PATCH] Make Bigtable::get_confirmed_blocks inclusive of requested start_slot and end_slot (#14651) * Fix off-by-one error * Filter out blocks greater than end slot --- 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![])); } }