From 8aaebceda089950ff5d8ab45b5a393052a777e1c Mon Sep 17 00:00:00 2001 From: DanB Date: Thu, 23 Feb 2017 18:45:24 +0100 Subject: [PATCH] Reverting to dial via url for mongo connections so we can support cluster --- engine/storage_mongo_datadb.go | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/engine/storage_mongo_datadb.go b/engine/storage_mongo_datadb.go index 29b32db64..7e6d6fa91 100644 --- a/engine/storage_mongo_datadb.go +++ b/engine/storage_mongo_datadb.go @@ -24,7 +24,6 @@ import ( "fmt" "io/ioutil" "strings" - "time" "github.com/cgrates/cgrates/cache" "github.com/cgrates/cgrates/config" @@ -89,15 +88,17 @@ var ( ) func NewMongoStorage(host, port, db, user, pass, storageType string, cdrsIndexes []string, cacheCfg *config.CacheConfig, loadHistorySize int) (ms *MongoStorage, err error) { - info := &mgo.DialInfo{ - Addrs: []string{host}, - Timeout: 60 * time.Second, - Database: db, - Username: user, - Password: pass, + url := host + if port != "" { + url += ":" + port } - - session, err := mgo.DialWithInfo(info) + if user != "" && pass != "" { + url = fmt.Sprintf("%s:%s@%s", user, pass, url) + } + if db != "" { + url += "/" + db + } + session, err := mgo.Dial(url) if err != nil { return nil, err }