mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-09 20:11:09 +00:00
Don't update common block on ancient block import (#4073)
This commit is contained in:
committed by
Gavin Wood
parent
f5f4c2d480
commit
c58a9b7f05
@@ -974,34 +974,34 @@ impl<B: BlockT> ChainSync<B> {
|
||||
/// Updates our internal state for best queued block and then goes
|
||||
/// through all peers to update our view of their state as well.
|
||||
fn on_block_queued(&mut self, hash: &B::Hash, number: NumberFor<B>) {
|
||||
if number > self.best_queued_number {
|
||||
self.best_queued_number = number;
|
||||
self.best_queued_hash = *hash;
|
||||
}
|
||||
if let Some(_) = self.fork_targets.remove(&hash) {
|
||||
trace!(target: "sync", "Completed fork sync {:?}", hash);
|
||||
}
|
||||
// Update common blocks
|
||||
for (n, peer) in self.peers.iter_mut() {
|
||||
if let PeerSyncState::AncestorSearch(_, _) = peer.state {
|
||||
// Wait for ancestry search to complete first.
|
||||
continue;
|
||||
if number > self.best_queued_number {
|
||||
self.best_queued_number = number;
|
||||
self.best_queued_hash = *hash;
|
||||
// Update common blocks
|
||||
for (n, peer) in self.peers.iter_mut() {
|
||||
if let PeerSyncState::AncestorSearch(_, _) = peer.state {
|
||||
// Wait for ancestry search to complete first.
|
||||
continue;
|
||||
}
|
||||
let new_common_number = if peer.best_number >= number {
|
||||
number
|
||||
} else {
|
||||
peer.best_number
|
||||
};
|
||||
trace!(
|
||||
target: "sync",
|
||||
"Updating peer {} info, ours={}, common={}->{}, their best={}",
|
||||
n,
|
||||
number,
|
||||
peer.common_number,
|
||||
new_common_number,
|
||||
peer.best_number,
|
||||
);
|
||||
peer.common_number = new_common_number;
|
||||
}
|
||||
let new_common_number = if peer.best_number >= number {
|
||||
number
|
||||
} else {
|
||||
peer.best_number
|
||||
};
|
||||
trace!(
|
||||
target: "sync",
|
||||
"Updating peer {} info, ours={}, common={}->{}, their best={}",
|
||||
n,
|
||||
number,
|
||||
peer.common_number,
|
||||
new_common_number,
|
||||
peer.best_number,
|
||||
);
|
||||
peer.common_number = new_common_number;
|
||||
}
|
||||
self.is_idle = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user