#2815 do not broadcast heartbeat proposal when we are non-validator (#2819)

* #2815 do not broadcast heartbeat proposal when we are non-validator

* #2815 adding preliminary changelog entry

* #2815 cosmetics and added test

* #2815 missed a little detail

- it's enough to call getAddress() once here

* #2815 remove debug logging from tests

* #2815 OK. I seem to be doing something fundamentally wrong here

* #2815 next iteration of proposalHeartbeat tests

- try and use "ensure" pattern in common_test

* 2815 incorporate review comments
This commit is contained in:
srmo
2018-11-17 21:23:39 +01:00
committed by Ethan Buchman
parent 6168b404a7
commit 1466a2cc9f
5 changed files with 52 additions and 3 deletions

View File

@ -802,8 +802,14 @@ func (cs *ConsensusState) needProofBlock(height int64) bool {
}
func (cs *ConsensusState) proposalHeartbeat(height int64, round int) {
counter := 0
logger := cs.Logger.With("height", height, "round", round)
addr := cs.privValidator.GetAddress()
if !cs.Validators.HasAddress(addr) {
logger.Debug("Not sending proposalHearbeat. This node is not a validator", "addr", addr, "vals", cs.Validators)
return
}
counter := 0
valIndex, _ := cs.Validators.GetByAddress(addr)
chainID := cs.state.ChainID
for {