diff --git a/config.go b/config.go index 7e746989c..37c0c63a3 100644 --- a/config.go +++ b/config.go @@ -1102,6 +1102,10 @@ func (c *Config) localDatabaseDir() string { normalizeNetwork(activeNetParams.Name)) } +func (c *Config) networkName() string { + return normalizeNetwork(activeNetParams.Name) +} + // CleanAndExpandPath expands environment variables and leading ~ in the // passed path, cleans the result, and returns it. // This function is taken from https://github.com/btcsuite/btcd diff --git a/lncfg/db.go b/lncfg/db.go index 62de1f130..a265f95f1 100644 --- a/lncfg/db.go +++ b/lncfg/db.go @@ -2,7 +2,6 @@ package lncfg import ( "fmt" - "path" "github.com/lightningnetwork/lnd/channeldb/kvdb" ) @@ -51,11 +50,12 @@ func (db *DB) Validate() error { } // GetBackend returns a kvdb.Backend as set in the DB config. -func (db *DB) GetBackend(dbPath string) (kvdb.Backend, error) { +func (db *DB) GetBackend(dbPath string, networkName string) ( + kvdb.Backend, error) { + if db.Backend == etcdBackend { // Prefix will separate key/values in the db. - prefix := path.Join(dbPath, dbName) - return kvdb.GetEtcdBackend(prefix, db.Etcd) + return kvdb.GetEtcdBackend(networkName, db.Etcd) } return kvdb.GetBoltBackend(dbPath, dbName, db.Bolt.NoFreeListSync) diff --git a/lnd.go b/lnd.go index f0a6e5e42..a58d5cbd2 100644 --- a/lnd.go +++ b/lnd.go @@ -250,7 +250,9 @@ func Main(cfg *Config, lisCfg ListenerCfg, shutdownChan <-chan struct{}) error { ltndLog.Infof("Opening the main database, this might take a few " + "minutes...") - chanDbBackend, err := cfg.DB.GetBackend(cfg.localDatabaseDir()) + chanDbBackend, err := cfg.DB.GetBackend( + cfg.localDatabaseDir(), cfg.networkName(), + ) if err != nil { ltndLog.Error(err) return err