From 937338e3e7246e7d899f648bf6f1651a79f541a4 Mon Sep 17 00:00:00 2001 From: capt4ce Date: Fri, 3 Apr 2020 18:17:37 +0800 Subject: [PATCH] scale down the common block jump --- common/constant/blockchainSync.go | 3 ++- core/blockchainsync/downloadBlockchain.go | 2 +- core/blockchainsync/processFork.go | 5 ++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/common/constant/blockchainSync.go b/common/constant/blockchainSync.go index e7cf03383..1b6ac9364 100644 --- a/common/constant/blockchainSync.go +++ b/common/constant/blockchainSync.go @@ -10,8 +10,9 @@ const ( DefaultNumberOfForkConfirmations int32 = 1 PeerGetBlocksLimit uint32 = 1440 CommonMilestoneBlockIdsLimit int32 = 10 - SafeBlockGap uint32 = 1440 + SafeBlockGap uint32 = uint32(MinRollbackBlocks / 2) // @iltoga change this to 2 for testing snapshots MinRollbackBlocks uint32 = 720 // production 720 MaxCommonMilestoneRequestTrial uint32 = MinRollbackBlocks/uint32(CommonMilestoneBlockIdsLimit) + 1 + MinimumPeersBlocksToDownload int32 = 2 ) diff --git a/core/blockchainsync/downloadBlockchain.go b/core/blockchainsync/downloadBlockchain.go index e11094dd1..f4cd8da8b 100644 --- a/core/blockchainsync/downloadBlockchain.go +++ b/core/blockchainsync/downloadBlockchain.go @@ -149,7 +149,7 @@ func (bd *BlockchainDownloader) GetPeerBlockchainInfo() (*PeerBlockchainInfo, er monitoring.IncrementMainchainDownloadCycleDebugger(bd.ChainType, 41) chainBlockIds := bd.getBlockIdsAfterCommon(peer, commonMilestoneBlockID) monitoring.IncrementMainchainDownloadCycleDebugger(bd.ChainType, 42) - if len(chainBlockIds) < 2 || !bd.PeerHasMore { + if int32(len(chainBlockIds)) < constant.MinimumPeersBlocksToDownload || !bd.PeerHasMore { monitoring.IncrementMainchainDownloadCycleDebugger(bd.ChainType, 43) return &PeerBlockchainInfo{ Peer: peer, diff --git a/core/blockchainsync/processFork.go b/core/blockchainsync/processFork.go index becde5787..0f7bb50db 100644 --- a/core/blockchainsync/processFork.go +++ b/core/blockchainsync/processFork.go @@ -74,6 +74,9 @@ func (fp *ForkingProcessor) ProcessFork(forkBlocks []*model.Block, commonBlock * // rebuilding the chain monitoring.IncrementMainchainDownloadCycleDebugger(fp.ChainType, 88) for _, block := range forkBlocks { + if block.ID == lastBlock.ID { + continue + } monitoring.IncrementMainchainDownloadCycleDebugger(fp.ChainType, 89) lastBlock, err = fp.BlockService.GetLastBlock() monitoring.IncrementMainchainDownloadCycleDebugger(fp.ChainType, 90) @@ -107,7 +110,7 @@ func (fp *ForkingProcessor) ProcessFork(forkBlocks []*model.Block, commonBlock * if blacklistErr != nil { fp.Logger.Errorf("Failed to add blacklist: %v\n", blacklistErr) } - fp.Logger.Warnf("\n\nPushBlock err %v\n\n", err) + fp.Logger.Warnf("\n\nPushBlock of fork blocks err %v\n\n", err) break }