From cad2df12591ac05a94ffe15519f100bb5209d3a0 Mon Sep 17 00:00:00 2001 From: Felipe Martin <812088+fmartingr@users.noreply.github.com> Date: Fri, 23 Jun 2023 14:59:56 +0200 Subject: [PATCH] [MM-52943] fix: enable Elasticsearch properly on restart (#23806) * fix: enable elasticsearch properly on restart * use correct method under IsEnabled * Empty-Commit to retrigger workflow --------- Co-authored-by: Antonis Stamatiou Co-authored-by: Mattermost Build --- server/channels/app/platform/searchengine.go | 2 +- .../services/searchengine/bleveengine/bleve.go | 4 ++++ server/platform/services/searchengine/interface.go | 2 ++ .../searchengine/mocks/SearchEngineInterface.go | 14 ++++++++++++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/server/channels/app/platform/searchengine.go b/server/channels/app/platform/searchengine.go index 1ffd44bff1..77cc88fb60 100644 --- a/server/channels/app/platform/searchengine.go +++ b/server/channels/app/platform/searchengine.go @@ -9,7 +9,7 @@ import ( ) func (ps *PlatformService) StartSearchEngine() (string, string) { - if ps.SearchEngine.ElasticsearchEngine != nil && ps.SearchEngine.ElasticsearchEngine.IsActive() { + if ps.SearchEngine.ElasticsearchEngine != nil && ps.SearchEngine.ElasticsearchEngine.IsEnabled() { ps.Go(func() { if err := ps.SearchEngine.ElasticsearchEngine.Start(); err != nil { ps.Log().Error(err.Error()) diff --git a/server/platform/services/searchengine/bleveengine/bleve.go b/server/platform/services/searchengine/bleveengine/bleve.go index 2fb503b936..61c7093240 100644 --- a/server/platform/services/searchengine/bleveengine/bleve.go +++ b/server/platform/services/searchengine/bleveengine/bleve.go @@ -219,6 +219,10 @@ func (b *BleveEngine) Stop() *model.AppError { return b.closeIndexes() } +func (b *BleveEngine) IsEnabled() bool { + return b.IsIndexingEnabled() +} + func (b *BleveEngine) IsActive() bool { return atomic.LoadInt32(&b.ready) == 1 } diff --git a/server/platform/services/searchengine/interface.go b/server/platform/services/searchengine/interface.go index 730f4c1be3..d7ad81dc15 100644 --- a/server/platform/services/searchengine/interface.go +++ b/server/platform/services/searchengine/interface.go @@ -17,6 +17,8 @@ type SearchEngineInterface interface { GetPlugins() []string UpdateConfig(cfg *model.Config) GetName() string + // IsEnabled returns a boolean indicating whether the engine is enabled in the settings + IsEnabled() bool IsActive() bool IsIndexingEnabled() bool IsSearchEnabled() bool diff --git a/server/platform/services/searchengine/mocks/SearchEngineInterface.go b/server/platform/services/searchengine/mocks/SearchEngineInterface.go index 00b31f0229..b0a6c0d3e3 100644 --- a/server/platform/services/searchengine/mocks/SearchEngineInterface.go +++ b/server/platform/services/searchengine/mocks/SearchEngineInterface.go @@ -326,6 +326,20 @@ func (_m *SearchEngineInterface) IsAutocompletionEnabled() bool { return r0 } +// IsEnabled provides a mock function with given fields: +func (_m *SearchEngineInterface) IsEnabled() bool { + ret := _m.Called() + + var r0 bool + if rf, ok := ret.Get(0).(func() bool); ok { + r0 = rf() + } else { + r0 = ret.Get(0).(bool) + } + + return r0 +} + // IsIndexingEnabled provides a mock function with given fields: func (_m *SearchEngineInterface) IsIndexingEnabled() bool { ret := _m.Called()