From 0dd94e2a926b929c371d06c463f917a2c70d427d Mon Sep 17 00:00:00 2001 From: Aaron Buchwald Date: Fri, 11 Dec 2020 15:49:00 -0500 Subject: Improve miner handling of asynchronous block production --- miner/worker.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/miner/worker.go b/miner/worker.go index 72597b0..2b44691 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -913,12 +913,15 @@ func (w *worker) commitNewWork(interrupt *int32, noempty bool, timestamp int64) //timestamp = int64(parent.Time() + 1) timestamp = int64(parent.Time()) } - // this will ensure we're not going off too far in the future - if now := time.Now().Unix(); timestamp > now+1 { - wait := time.Duration(timestamp-now) * time.Second - log.Info("Mining too far in the future", "wait", common.PrettyDuration(wait)) - time.Sleep(wait) - } + // This block has been removed to prevent BuildBlock + // from blocking until this chain advances to timestamp + // This prevents a block issued up to 30s in the future + // from causing an unnecessary sleep + // if now := time.Now().Unix(); timestamp > now+1 { + // wait := time.Duration(timestamp-now) * time.Second + // log.Info("Mining too far in the future", "wait", common.PrettyDuration(wait)) + // time.Sleep(wait) + // } num := parent.Number() header := &types.Header{ -- cgit v1.2.3-70-g09d2