Browse Source

cs: check if cs.privValidator is nil (#4295)

before getting its address in recordMetrics

Refs https://github.com/tendermint/tendermint/pull/4294#discussion_r364347586
pull/4301/head
Anton Kaliaev 5 years ago
committed by GitHub
parent
commit
db235c8df0
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 8 deletions
  1. +7
    -8
      consensus/state.go

+ 7
- 8
consensus/state.go View File

@ -1486,10 +1486,14 @@ func (cs *State) recordMetrics(height int64, block *types.Block) {
for i, val := range cs.LastValidators.Validators {
commitSig := block.LastCommit.Signatures[i]
privValAddress := cs.privValidator.GetPubKey().Address()
if cs.privValidator != nil && bytes.Equal(val.Address, privValAddress) {
if commitSig.Absent() {
missingValidators++
missingValidatorsPower += val.VotingPower
}
if cs.privValidator != nil && bytes.Equal(val.Address, cs.privValidator.GetPubKey().Address()) {
label := []string{
"validator_address", privValAddress.String(),
"validator_address", val.Address.String(),
}
cs.metrics.ValidatorPower.With(label...).Set(float64(val.VotingPower))
if commitSig.ForBlock() {
@ -1498,11 +1502,6 @@ func (cs *State) recordMetrics(height int64, block *types.Block) {
cs.metrics.ValidatorMissedBlocks.With(label...).Add(float64(1))
}
}
if commitSig.Absent() {
missingValidators++
missingValidatorsPower += val.VotingPower
}
}
}
cs.metrics.MissingValidators.Set(float64(missingValidators))


Loading…
Cancel
Save