eth/downloader: fix ancestor searching for light syncing (#19136)
This commit is contained in:
		
							parent
							
								
									95b2ec7169
								
							
						
					
					
						commit
						6c312a24b6
					
				@ -665,10 +665,12 @@ func (d *Downloader) findAncestor(p *peerConnection, remoteHeader *types.Header)
 | 
				
			|||||||
		localHeight = d.lightchain.CurrentHeader().Number.Uint64()
 | 
							localHeight = d.lightchain.CurrentHeader().Number.Uint64()
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	p.log.Debug("Looking for common ancestor", "local", localHeight, "remote", remoteHeight)
 | 
						p.log.Debug("Looking for common ancestor", "local", localHeight, "remote", remoteHeight)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Recap floor value for binary search
 | 
				
			||||||
	if localHeight >= MaxForkAncestry {
 | 
						if localHeight >= MaxForkAncestry {
 | 
				
			||||||
		// We're above the max reorg threshold, find the earliest fork point
 | 
							// We're above the max reorg threshold, find the earliest fork point
 | 
				
			||||||
		floor = int64(localHeight - MaxForkAncestry)
 | 
							floor = int64(localHeight - MaxForkAncestry)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	// If we're doing a light sync, ensure the floor doesn't go below the CHT, as
 | 
						// If we're doing a light sync, ensure the floor doesn't go below the CHT, as
 | 
				
			||||||
	// all headers before that point will be missing.
 | 
						// all headers before that point will be missing.
 | 
				
			||||||
	if d.mode == LightSync {
 | 
						if d.mode == LightSync {
 | 
				
			||||||
@ -688,7 +690,7 @@ func (d *Downloader) findAncestor(p *peerConnection, remoteHeader *types.Header)
 | 
				
			|||||||
			floor = int64(d.genesis) - 1
 | 
								floor = int64(d.genesis) - 1
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	}
 | 
					
 | 
				
			||||||
	from, count, skip, max := calculateRequestSpan(remoteHeight, localHeight)
 | 
						from, count, skip, max := calculateRequestSpan(remoteHeight, localHeight)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	p.log.Trace("Span searching for common ancestor", "count", count, "from", from, "skip", skip)
 | 
						p.log.Trace("Span searching for common ancestor", "count", count, "from", from, "skip", skip)
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user