Enforce tx metadata upload with static types (#23028)
This commit is contained in:
@ -878,46 +878,27 @@ fn find_latest_replayed_slot_from_ledger(
|
||||
latest_slot = new_latest_slot;
|
||||
info!("Checking latest_slot {}", latest_slot);
|
||||
// Wait for the slot to be fully received by the validator
|
||||
let entries;
|
||||
loop {
|
||||
info!("Waiting for slot {} to be full", latest_slot);
|
||||
if blockstore.is_full(latest_slot) {
|
||||
entries = blockstore.get_slot_entries(latest_slot, 0).unwrap();
|
||||
assert!(!entries.is_empty());
|
||||
break;
|
||||
} else {
|
||||
sleep(Duration::from_millis(50));
|
||||
blockstore = open_blockstore(ledger_path);
|
||||
}
|
||||
}
|
||||
// Check the slot has been replayed
|
||||
let non_tick_entry = entries.into_iter().find(|e| !e.transactions.is_empty());
|
||||
if let Some(non_tick_entry) = non_tick_entry {
|
||||
// Wait for the slot to be replayed
|
||||
loop {
|
||||
info!("Waiting for slot {} to be replayed", latest_slot);
|
||||
if !blockstore
|
||||
.map_transactions_to_statuses(
|
||||
latest_slot,
|
||||
non_tick_entry.transactions.clone().into_iter(),
|
||||
)
|
||||
.unwrap()
|
||||
.is_empty()
|
||||
{
|
||||
return (
|
||||
latest_slot,
|
||||
AncestorIterator::new(latest_slot, &blockstore).collect(),
|
||||
);
|
||||
} else {
|
||||
sleep(Duration::from_millis(50));
|
||||
blockstore = open_blockstore(ledger_path);
|
||||
}
|
||||
// Wait for the slot to be replayed
|
||||
loop {
|
||||
info!("Waiting for slot {} to be replayed", latest_slot);
|
||||
if blockstore.get_bank_hash(latest_slot).is_some() {
|
||||
return (
|
||||
latest_slot,
|
||||
AncestorIterator::new(latest_slot, &blockstore).collect(),
|
||||
);
|
||||
} else {
|
||||
sleep(Duration::from_millis(50));
|
||||
blockstore = open_blockstore(ledger_path);
|
||||
}
|
||||
} else {
|
||||
info!(
|
||||
"No transactions in slot {}, can't tell if it was replayed",
|
||||
latest_slot
|
||||
);
|
||||
}
|
||||
}
|
||||
sleep(Duration::from_millis(50));
|
||||
|
Reference in New Issue
Block a user