From 965f645d099fcaa183af8b703489a953301626ea Mon Sep 17 00:00:00 2001 From: Trial97 Date: Wed, 17 Jul 2019 15:51:22 +0300 Subject: [PATCH] Updated mongo ensureIndexes --- engine/storage_mongo_datadb.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/engine/storage_mongo_datadb.go b/engine/storage_mongo_datadb.go index 1b1cf6096..9fe259dd8 100644 --- a/engine/storage_mongo_datadb.go +++ b/engine/storage_mongo_datadb.go @@ -259,8 +259,16 @@ func (ms *MongoStorage) GetContext() context.Context { return ms.ctx } +func isNotFound(err error) bool { + de, ok := err.(mongo.CommandError) + if !ok { // if still can't converted to the mongo.CommandError check if error do not contains message + return strings.Contains(err.Error(), "ns not found") + } + return de.Code == 26 || de.Message == "ns not found" +} + func (ms *MongoStorage) ensureIndexesForCol(col string) (err error) { // exported for migrator - if err = ms.dropAllIndexesForCol(col); err != nil && err.Error() != "ns not found" { // make sure you do not have indexes + if err = ms.dropAllIndexesForCol(col); err != nil && !isNotFound(err) { // make sure you do not have indexes return } err = nil