Browse Source

state/store: remove extra `if` statement (#3774)

closes #3543

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>
pull/3615/head
Marko 5 years ago
committed by Anton Kaliaev
parent
commit
7bc5e1aa00
2 changed files with 6 additions and 34 deletions
  1. +6
    -15
      state/store.go
  2. +0
    -19
      state/store_test.go

+ 6
- 15
state/store.go View File

@ -194,21 +194,12 @@ func LoadValidators(db dbm.DB, height int64) (*types.ValidatorSet, error) {
lastStoredHeight := lastStoredHeightFor(height, valInfo.LastHeightChanged)
valInfo2 := loadValidatorsInfo(db, lastStoredHeight)
if valInfo2 == nil || valInfo2.ValidatorSet == nil {
// TODO (melekes): remove the below if condition in the 0.33 major
// release and just panic. Old chains might panic otherwise if they
// haven't saved validators at intermediate (%valSetCheckpointInterval)
// height yet.
// https://github.com/tendermint/tendermint/issues/3543
valInfo2 = loadValidatorsInfo(db, valInfo.LastHeightChanged)
lastStoredHeight = valInfo.LastHeightChanged
if valInfo2 == nil || valInfo2.ValidatorSet == nil {
panic(
fmt.Sprintf("Couldn't find validators at height %d (height %d was originally requested)",
lastStoredHeight,
height,
),
)
}
panic(
fmt.Sprintf("Couldn't find validators at height %d (height %d was originally requested)",
lastStoredHeight,
height,
),
)
}
valInfo2.ValidatorSet.IncrementProposerPriority(int(height - lastStoredHeight)) // mutate
valInfo = valInfo2


+ 0
- 19
state/store_test.go View File

@ -28,25 +28,6 @@ func TestStoreLoadValidators(t *testing.T) {
// 2) LoadValidators loads validators using a checkpoint height
// TODO(melekes): REMOVE in 0.33 release
// https://github.com/tendermint/tendermint/issues/3543
// for releases prior to v0.31.4, it uses last height changed
valInfo := &sm.ValidatorsInfo{
LastHeightChanged: sm.ValSetCheckpointInterval,
}
stateDB.Set(sm.CalcValidatorsKey(sm.ValSetCheckpointInterval), valInfo.Bytes())
assert.NotPanics(t, func() {
sm.SaveValidatorsInfo(stateDB, sm.ValSetCheckpointInterval+1, 1, vals)
loadedVals, err := sm.LoadValidators(stateDB, sm.ValSetCheckpointInterval+1)
if err != nil {
t.Fatal(err)
}
if loadedVals.Size() == 0 {
t.Fatal("Expected validators to be non-empty")
}
})
// ENDREMOVE
sm.SaveValidatorsInfo(stateDB, sm.ValSetCheckpointInterval, 1, vals)
loadedVals, err = sm.LoadValidators(stateDB, sm.ValSetCheckpointInterval)


Loading…
Cancel
Save