Open leveldb in recover on failure
parent
283c2dffd2
commit
c960b6db83
10
leveldb.go
10
leveldb.go
|
|
@ -18,6 +18,16 @@ func NewLevelDB(path string) (*LevelDB, error) {
|
||||||
db, err := leveldb.OpenFile(path, &opt.Options{
|
db, err := leveldb.OpenFile(path, &opt.Options{
|
||||||
Filter: filter.NewBloomFilter(32),
|
Filter: filter.NewBloomFilter(32),
|
||||||
})
|
})
|
||||||
|
if err != nil {
|
||||||
|
db, err = leveldb.RecoverFile(path, &opt.Options{
|
||||||
|
Filter: filter.NewBloomFilter(32),
|
||||||
|
})
|
||||||
|
if err == nil && db.Close() == nil {
|
||||||
|
db, err = leveldb.OpenFile(path, &opt.Options{
|
||||||
|
Filter: filter.NewBloomFilter(32),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
return &LevelDB{
|
return &LevelDB{
|
||||||
db: db,
|
db: db,
|
||||||
}, err
|
}, err
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue