Skip to content

Commit 330f8b2

Browse files
yxqvipwzw
yxq
authored andcommitted
fix: retry to exec block when error occurs in chunk download mode
1 parent 6e5abd8 commit 330f8b2

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

blockchain/download.go

+6-7
Original file line numberDiff line numberDiff line change
@@ -223,14 +223,13 @@ func (chain *BlockChain) ReadChunkBlockToExec() {
223223
}
224224
_, ismain, isorphan, err := chain.ProcessBlock(false, &types.BlockDetail{Block: block}, "download", true, -1)
225225
if err != nil {
226-
//执行失败强制结束快速下载模式并切换到普通下载模式
227-
chain.DefaultDownLoadInfo()
228-
229-
//清除快速下载的标识并从缓存中删除此执行失败的区块,
230-
chain.cancelDownLoadFlag(true)
231-
chain.blockStore.db.Delete(calcHeightToTempBlockKey(block.Height))
226+
//正常情况不会执行失败
227+
//部分区块包含平行链共识交易中有跨链交易需要依赖历史区块
228+
//分片节点执行交易的时候会从网络中请求历史区块
229+
//可能会因网络请求超时而执行失败
230+
//打印日志后重新执行即可
232231
synlog.Error("ReadBlockToExec:ProcessBlock:err!", "height", block.Height, "hash", common.ToHex(block.Hash(cfg)), "err", err)
233-
break
232+
continue
234233
}
235234
synlog.Debug("ReadBlockToExec:ProcessBlock:success!", "height", block.Height, "ismain", ismain, "isorphan", isorphan, "hash", common.ToHex(block.Hash(cfg)))
236235
}

0 commit comments

Comments
 (0)