Allow ancient fork download after ancestry search (#4080)

This commit is contained in:
Arkadiy Paronyan
2019-11-11 01:23:41 +01:00
committed by Bastian Köcher
parent ed5d31a22b
commit bb0736cdba
2 changed files with 2 additions and 6 deletions
@@ -704,12 +704,8 @@ impl<B: BlockT> ChainSync<B> {
matching_hash,
peer.common_number,
);
let client = &self.client;
if peer.common_number < peer.best_number
&& peer.best_number < self.best_queued_number
&& matching_hash.and_then(
|h| client.block_status(&BlockId::Hash(h)).ok()
).unwrap_or(BlockStatus::Unknown) != BlockStatus::InChainPruned
{
trace!(target: "sync", "Added fork target {} for {}" , peer.best_hash, who);
self.fork_targets
+2 -2
View File
@@ -617,9 +617,9 @@ fn syncs_header_only_forks() {
net.peer(1).push_blocks(4, false);
net.block_until_sync(&mut runtime);
// Peer 1 won't sync the small fork because common block state is missing
// Peer 1 will sync the small fork even though common block state is missing
assert_eq!(9, net.peer(0).blocks_count());
assert_eq!(7, net.peer(1).blocks_count());
assert_eq!(9, net.peer(1).blocks_count());
// Request explicit header-only sync request for the ancient fork.
let first_peer_id = net.peer(0).id();