diff --git a/consensus/state.go b/consensus/state.go index b42626b3b0..257f0a7d95 100644 --- a/consensus/state.go +++ b/consensus/state.go @@ -1123,7 +1123,16 @@ func (cs *State) defaultDecideProposal(height int64, round int32) { // cancel ctx for previous proposal block to ensure block putting/providing does not queues up if cs.proposalCancel != nil { - cs.proposalCancel() + // FIXME(ismail): below commented out cancel tries to prevent block putting + // and providing no to queue up endlessly. + // But in a real network proposals should have enough time in between and if not queuing up to a + // problematic extent will take a lot of time: + // Even on the Cosmos Hub the largest validator only proposes every 15 blocks. + // With an average block time of roughly 7.5 seconds this means almost + // two minutes between two proposals by the strongest validator. + // In our case block interval times will likely be larger. + // + // cs.proposalCancel() } cs.proposalCtx, cs.proposalCancel = context.WithCancel(context.TODO()) go func(ctx context.Context) {