Don't insert coding shreds into blocktree on leader (#6831)
This commit is contained in:
parent
346213da4c
commit
da425cc225
|
@ -77,7 +77,6 @@ impl BroadcastRun for BroadcastFakeBlobsRun {
|
||||||
}
|
}
|
||||||
|
|
||||||
blocktree.insert_shreds(data_shreds.clone(), None)?;
|
blocktree.insert_shreds(data_shreds.clone(), None)?;
|
||||||
blocktree.insert_shreds(coding_shreds.clone(), None)?;
|
|
||||||
|
|
||||||
// 3) Start broadcast step
|
// 3) Start broadcast step
|
||||||
let peers = cluster_info.read().unwrap().tvu_peers();
|
let peers = cluster_info.read().unwrap().tvu_peers();
|
||||||
|
|
|
@ -170,9 +170,17 @@ impl StandardBroadcastRun {
|
||||||
let bank_epoch = bank.get_leader_schedule_epoch(bank.slot());
|
let bank_epoch = bank.get_leader_schedule_epoch(bank.slot());
|
||||||
let stakes = staking_utils::staked_nodes_at_epoch(&bank, bank_epoch);
|
let stakes = staking_utils::staked_nodes_at_epoch(&bank, bank_epoch);
|
||||||
|
|
||||||
self.insert_and_broadcast(data_shreds, blocktree, cluster_info, stakes.as_ref(), sock)?;
|
self.maybe_insert_and_broadcast(
|
||||||
self.insert_and_broadcast(
|
data_shreds,
|
||||||
|
true,
|
||||||
|
blocktree,
|
||||||
|
cluster_info,
|
||||||
|
stakes.as_ref(),
|
||||||
|
sock,
|
||||||
|
)?;
|
||||||
|
self.maybe_insert_and_broadcast(
|
||||||
coding_shreds,
|
coding_shreds,
|
||||||
|
false,
|
||||||
blocktree,
|
blocktree,
|
||||||
cluster_info,
|
cluster_info,
|
||||||
stakes.as_ref(),
|
stakes.as_ref(),
|
||||||
|
@ -193,9 +201,10 @@ impl StandardBroadcastRun {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn insert_and_broadcast(
|
fn maybe_insert_and_broadcast(
|
||||||
&mut self,
|
&mut self,
|
||||||
shreds: Vec<Shred>,
|
shreds: Vec<Shred>,
|
||||||
|
insert: bool,
|
||||||
blocktree: &Arc<Blocktree>,
|
blocktree: &Arc<Blocktree>,
|
||||||
cluster_info: &Arc<RwLock<ClusterInfo>>,
|
cluster_info: &Arc<RwLock<ClusterInfo>>,
|
||||||
stakes: Option<&HashMap<Pubkey, u64>>,
|
stakes: Option<&HashMap<Pubkey, u64>>,
|
||||||
|
@ -207,9 +216,11 @@ impl StandardBroadcastRun {
|
||||||
|
|
||||||
// Insert shreds into blocktree
|
// Insert shreds into blocktree
|
||||||
let insert_shreds_start = Instant::now();
|
let insert_shreds_start = Instant::now();
|
||||||
blocktree
|
if insert {
|
||||||
.insert_shreds(shreds.clone(), None)
|
blocktree
|
||||||
.expect("Failed to insert shreds in blocktree");
|
.insert_shreds(shreds.clone(), None)
|
||||||
|
.expect("Failed to insert shreds in blocktree");
|
||||||
|
}
|
||||||
let insert_shreds_elapsed = insert_shreds_start.elapsed();
|
let insert_shreds_elapsed = insert_shreds_start.elapsed();
|
||||||
|
|
||||||
// Broadcast the shreds
|
// Broadcast the shreds
|
||||||
|
|
Loading…
Reference in New Issue