Browse Source

state: propogate error from state store (#8171)

* state: propogate error from state store

* fix lint
pull/8170/head
Sam Kleinman 3 years ago
committed by tycho garen
parent
commit
c1b9d93438
2 changed files with 8 additions and 2 deletions
  1. +7
    -1
      internal/state/errors.go
  2. +1
    -1
      internal/state/store.go

+ 7
- 1
internal/state/errors.go View File

@ -39,6 +39,7 @@ type (
ErrNoValSetForHeight struct { ErrNoValSetForHeight struct {
Height int64 Height int64
Err error
} }
ErrNoConsensusParamsForHeight struct { ErrNoConsensusParamsForHeight struct {
@ -89,9 +90,14 @@ func (e ErrStateMismatch) Error() string {
} }
func (e ErrNoValSetForHeight) Error() string { func (e ErrNoValSetForHeight) Error() string {
return fmt.Sprintf("could not find validator set for height #%d", e.Height)
if e.Err == nil {
return fmt.Sprintf("could not find validator set for height #%d", e.Height)
}
return fmt.Sprintf("could not find validator set for height #%d: %s", e.Height, e.Err.Error())
} }
func (e ErrNoValSetForHeight) Unwrap() error { return e.Err }
func (e ErrNoConsensusParamsForHeight) Error() string { func (e ErrNoConsensusParamsForHeight) Error() string {
return fmt.Sprintf("could not find consensus params for height #%d", e.Height) return fmt.Sprintf("could not find consensus params for height #%d", e.Height)
} }


+ 1
- 1
internal/state/store.go View File

@ -488,7 +488,7 @@ func (store dbStore) LoadValidators(height int64) (*types.ValidatorSet, error) {
valInfo, err := loadValidatorsInfo(store.db, height) valInfo, err := loadValidatorsInfo(store.db, height)
if err != nil { if err != nil {
return nil, ErrNoValSetForHeight{height}
return nil, ErrNoValSetForHeight{Height: height, Err: err}
} }
if valInfo.ValidatorSet == nil { if valInfo.ValidatorSet == nil {
lastStoredHeight := lastStoredHeightFor(height, valInfo.LastHeightChanged) lastStoredHeight := lastStoredHeightFor(height, valInfo.LastHeightChanged)


Loading…
Cancel
Save