aboutsummaryrefslogtreecommitdiffstats
path: root/core/consensus.go
diff options
context:
space:
mode:
Diffstat (limited to 'core/consensus.go')
-rw-r--r--core/consensus.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/core/consensus.go b/core/consensus.go
index 871e855..050bfe7 100644
--- a/core/consensus.go
+++ b/core/consensus.go
@@ -127,7 +127,15 @@ func (recv *consensusBAReceiver) ConfirmBlock(
return
}
if block == nil {
- panic(fmt.Errorf("empty block should be proposed directly: %s", aID))
+ // The empty block's parent is not found locally, thus we can't
+ // propose it at this moment.
+ //
+ // We can only rely on block pulling upon receiving
+ // types.AgreementResult from the next position.
+ recv.consensus.logger.Warn(
+ "An empty block is confirmed without its parent",
+ "position", aID)
+ return
}
} else {
var exist bool