reduce errors (#9669)

Co-authored-by: Anatoly Yakovenko <anatoly@solana.com>
This commit is contained in:
sakridge 2020-04-22 19:46:06 -07:00 committed by GitHub
parent 7e48e5859d
commit ecb343c23b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 10 deletions

View File

@ -1285,12 +1285,13 @@ impl Blockstore {
slot: Slot, slot: Slot,
start_index: u64, start_index: u64,
) -> ShredResult<Vec<Shred>> { ) -> ShredResult<Vec<Shred>> {
let vec: ShredResult<Vec<Shred>> = self let mut vec: Vec<Shred> = self
.slot_data_iterator(slot, start_index) .slot_data_iterator(slot, start_index)
.expect("blockstore couldn't fetch iterator") .map(|iter| {
.map(|data| Shred::new_from_serialized_shred(data.1.to_vec())) iter.filter_map(|data| Shred::new_from_serialized_shred(data.1.to_vec()).ok())
.collect(); .collect()
let mut vec = vec?; })
.unwrap_or_else(|_| vec![]);
vec.sort_by_key(|s| s.index()); vec.sort_by_key(|s| s.index());
Ok(vec) Ok(vec)
} }
@ -1351,12 +1352,13 @@ impl Blockstore {
slot: Slot, slot: Slot,
start_index: u64, start_index: u64,
) -> ShredResult<Vec<Shred>> { ) -> ShredResult<Vec<Shred>> {
let vec: ShredResult<Vec<Shred>> = self let mut vec: Vec<Shred> = self
.slot_coding_iterator(slot, start_index) .slot_coding_iterator(slot, start_index)
.expect("blockstore couldn't fetch iterator") .map(|iter| {
.map(|code| Shred::new_from_serialized_shred(code.1.to_vec())) iter.filter_map(|code| Shred::new_from_serialized_shred(code.1.to_vec()).ok())
.collect(); .collect()
let mut vec = vec?; })
.unwrap_or_else(|_| vec![]);
vec.sort_by_key(|s| s.index()); vec.sort_by_key(|s| s.index());
Ok(vec) Ok(vec)
} }