diff --git a/consensus/replay.go b/consensus/replay.go index 3abe0bf48..0e11afb8c 100644 --- a/consensus/replay.go +++ b/consensus/replay.go @@ -10,8 +10,8 @@ import ( "strings" "time" - . "github.com/tendermint/tendermint/Godeps/_workspace/src/github.com/tendermint/go-common" - "github.com/tendermint/tendermint/Godeps/_workspace/src/github.com/tendermint/go-wire" + . "github.com/tendermint/go-common" + "github.com/tendermint/go-wire" sm "github.com/tendermint/tendermint/state" "github.com/tendermint/tendermint/types" diff --git a/consensus/state.go b/consensus/state.go index 5217a2311..50b048ff2 100644 --- a/consensus/state.go +++ b/consensus/state.go @@ -378,8 +378,8 @@ func (cs *ConsensusState) reconstructLastCommit(state *sm.State) { if state.LastBlockHeight == 0 { return } - lastPrecommits := types.NewVoteSet(state.LastBlockHeight, 0, types.VoteTypePrecommit, state.LastValidators) seenValidation := cs.blockStore.LoadSeenValidation(state.LastBlockHeight) + lastPrecommits := types.NewVoteSet(state.LastBlockHeight, seenValidation.Round(), types.VoteTypePrecommit, state.LastValidators) for idx, precommit := range seenValidation.Precommits { if precommit == nil { continue @@ -1258,7 +1258,8 @@ func (cs *ConsensusState) addProposalBlockPart(height int, part *types.Part) (ad var n int var err error cs.ProposalBlock = wire.ReadBinary(&types.Block{}, cs.ProposalBlockParts.GetReader(), types.MaxBlockSize, &n, &err).(*types.Block) - log.Info("Received complete proposal", "height", cs.ProposalBlock.Height, "hash", cs.ProposalBlock.Hash()) + // NOTE: it's possible to receive complete proposal blocks for future rounds without having the proposal + log.Info("Received complete proposal block", "height", cs.ProposalBlock.Height, "hash", cs.ProposalBlock.Hash()) if cs.Step == RoundStepPropose && cs.isProposalComplete() { // Move onto the next step cs.enterPrevote(height, cs.Round)