Merge pull request #16062 from karalabe/nodisable-fastsync
eth: only disable fast sync after success
This commit is contained in:
		
						commit
						62ffec1be3
					
				
							
								
								
									
										15
									
								
								eth/sync.go
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								eth/sync.go
									
									
									
									
									
								
							| @ -189,18 +189,13 @@ func (pm *ProtocolManager) synchronise(peer *peer) { | ||||
| 		mode = downloader.FastSync | ||||
| 	} | ||||
| 	// Run the sync cycle, and disable fast sync if we've went past the pivot block
 | ||||
| 	err := pm.downloader.Synchronise(peer.id, pHead, pTd, mode) | ||||
| 
 | ||||
| 	if atomic.LoadUint32(&pm.fastSync) == 1 { | ||||
| 		// Disable fast sync if we indeed have something in our chain
 | ||||
| 		if pm.blockchain.CurrentBlock().NumberU64() > 0 { | ||||
| 			log.Info("Fast sync complete, auto disabling") | ||||
| 			atomic.StoreUint32(&pm.fastSync, 0) | ||||
| 		} | ||||
| 	} | ||||
| 	if err != nil { | ||||
| 	if err := pm.downloader.Synchronise(peer.id, pHead, pTd, mode); err != nil { | ||||
| 		return | ||||
| 	} | ||||
| 	if atomic.LoadUint32(&pm.fastSync) == 1 { | ||||
| 		log.Info("Fast sync complete, auto disabling") | ||||
| 		atomic.StoreUint32(&pm.fastSync, 0) | ||||
| 	} | ||||
| 	atomic.StoreUint32(&pm.acceptTxs, 1) // Mark initial sync done
 | ||||
| 	if head := pm.blockchain.CurrentBlock(); head.NumberU64() > 0 { | ||||
| 		// We've completed a sync cycle, notify all peers of new state. This path is
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user