Skip to content

Commit

Permalink
Merge pull request #99 from koinos/98-exit-on-failed-open
Browse files Browse the repository at this point in the history
Exit on failed open
  • Loading branch information
youkaicountry committed Nov 1, 2021
2 parents 16e07d4 + 406418d commit d721353
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 7 deletions.
13 changes: 10 additions & 3 deletions cmd/koinos-block-store/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,8 @@ func main() {
logFilename := path.Join(util.GetAppDir(*baseDir, appName), logDir, "block_store.log")
err := log.InitLogger(*logLevel, false, logFilename, appID)
if err != nil {
panic(fmt.Sprintf("Invalid log-level: %s. Please choose one of: debug, info, warn, error", *logLevel))
fmt.Sprintf("Invalid log-level: %s. Please choose one of: debug, info, warn, error", *logLevel)
os.Exit(1)
}

// Costruct the db directory and ensure it exists
Expand All @@ -80,14 +81,20 @@ func main() {

var opts = badger.DefaultOptions(dbDir)
opts.Logger = bstore.KoinosBadgerLogger{}
var backend = bstore.NewBadgerBackend(opts)
backend, err := bstore.NewBadgerBackend(opts)

if err != nil {
log.Errorf("Could not open database, %s", err.Error())
os.Exit(1)
}

// Reset backend if requested
if *reset {
log.Info("Resetting database")
err := backend.Reset()
if err != nil {
panic(fmt.Sprintf("Error resetting database: %s\n", err.Error()))
log.Errorf("Could not reset database, %s", err.Error())
os.Exit(1)
}
}

Expand Down
6 changes: 3 additions & 3 deletions internal/bstore/badger_backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ type BadgerBackend struct {
}

// NewBadgerBackend BadgerBackend constructor
func NewBadgerBackend(opts badger.Options) *BadgerBackend {
badgerDB, _ := badger.Open(opts)
return &BadgerBackend{DB: badgerDB}
func NewBadgerBackend(opts badger.Options) (*BadgerBackend, error) {
badgerDB, err := badger.Open(opts)
return &BadgerBackend{DB: badgerDB}, err
}

// Close cleans backend resources
Expand Down
2 changes: 1 addition & 1 deletion internal/bstore/reqhandler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ func NewBackend(backendType int) BlockStoreBackend {
panic("unable to create temp directory")
}
opts := badger.DefaultOptions(dirname)
backend = NewBadgerBackend(opts)
backend, _ = NewBadgerBackend(opts)
break
default:
panic("unknown backend type")
Expand Down

0 comments on commit d721353

Please sign in to comment.