From ef2b3a0801ba1a56f97460a591957942c194942d Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Tue, 26 May 2020 00:03:44 -0700 Subject: [PATCH] leveldb recover error handling --- weed/filer2/leveldb/leveldb_store.go | 6 ++++-- weed/storage/needle_map_leveldb.go | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/weed/filer2/leveldb/leveldb_store.go b/weed/filer2/leveldb/leveldb_store.go index 675b6e19d..31919ca49 100644 --- a/weed/filer2/leveldb/leveldb_store.go +++ b/weed/filer2/leveldb/leveldb_store.go @@ -53,8 +53,10 @@ func (store *LevelDBStore) initialize(dir string) (err error) { if errors.IsCorrupted(err) { store.db, err = leveldb.RecoverFile(dir, opts) } - glog.Infof("filer store open dir %s: %v", dir, err) - return + if err != nil { + glog.Infof("filer store open dir %s: %v", dir, err) + return + } } return } diff --git a/weed/storage/needle_map_leveldb.go b/weed/storage/needle_map_leveldb.go index ee223425e..63485522d 100644 --- a/weed/storage/needle_map_leveldb.go +++ b/weed/storage/needle_map_leveldb.go @@ -38,7 +38,9 @@ func NewLevelDbNeedleMap(dbFileName string, indexFile *os.File, opts *opt.Option if errors.IsCorrupted(err) { m.db, err = leveldb.RecoverFile(dbFileName, opts) } - return + if err != nil { + return + } } glog.V(1).Infof("Loading %s...", indexFile.Name()) mm, indexLoadError := newNeedleMapMetricFromIndexFile(indexFile)