diff --git a/meta/store.go b/meta/store.go index 1b2e9f5fbd..67d51232f4 100644 --- a/meta/store.go +++ b/meta/store.go @@ -427,15 +427,16 @@ func (s *Store) checkRaftState() error { } func (s *Store) changeState(state raftState) error { - if err := s.raftState.close(); err != nil { - return err - } + if s.raftState != nil { + if err := s.raftState.close(); err != nil { + return err + } - // Clear out any persistent state - if err := s.raftState.remove(); err != nil { - return err + // Clear out any persistent state + if err := s.raftState.remove(); err != nil { + return err + } } - s.raftState = state if err := s.raftState.open(); err != nil {