MM-49984: Displaying active search backend in system console (#22721)
This will be shown in the system console to let users know which search backend is active. Implemented via adding an extra param in the ping response. https://mattermost.atlassian.net/browse/MM-49984 ```release-note The database section in the system console now has an additional read-only section which shows the active search backend in use. This can be helpful to confirm which is the currently active search engine when there are multiple of them configured. ``` --------- Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
4bf31bd227
Коммит
56bf1b695a
@@ -45,8 +45,19 @@ func (seb *Broker) GetActiveEngines() []SearchEngineInterface {
|
||||
if seb.ElasticsearchEngine != nil && seb.ElasticsearchEngine.IsActive() {
|
||||
engines = append(engines, seb.ElasticsearchEngine)
|
||||
}
|
||||
if seb.BleveEngine != nil && seb.BleveEngine.IsActive() {
|
||||
if seb.BleveEngine != nil && seb.BleveEngine.IsActive() && seb.BleveEngine.IsIndexingEnabled() {
|
||||
engines = append(engines, seb.BleveEngine)
|
||||
}
|
||||
return engines
|
||||
}
|
||||
|
||||
func (seb *Broker) ActiveEngine() string {
|
||||
activeEngines := seb.GetActiveEngines()
|
||||
if len(activeEngines) > 0 {
|
||||
return activeEngines[0].GetName()
|
||||
}
|
||||
if *seb.cfg.SqlSettings.DisableDatabaseSearch {
|
||||
return "none"
|
||||
}
|
||||
return "database"
|
||||
}
|
||||
|
||||
42
server/platform/services/searchengine/searchengine_test.go
Обычный файл
42
server/platform/services/searchengine/searchengine_test.go
Обычный файл
@@ -0,0 +1,42 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
package searchengine
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/mattermost/mattermost-server/v6/model"
|
||||
"github.com/mattermost/mattermost-server/v6/server/platform/services/searchengine/mocks"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestActiveEngine(t *testing.T) {
|
||||
cfg := &model.Config{}
|
||||
cfg.SetDefaults()
|
||||
|
||||
b := NewBroker(cfg)
|
||||
|
||||
esMock := &mocks.SearchEngineInterface{}
|
||||
esMock.On("IsActive").Return(true)
|
||||
esMock.On("GetName").Return("elasticsearch")
|
||||
|
||||
bleveMock := &mocks.SearchEngineInterface{}
|
||||
bleveMock.On("IsActive").Return(true)
|
||||
bleveMock.On("IsIndexingEnabled").Return(true)
|
||||
bleveMock.On("GetName").Return("bleve")
|
||||
|
||||
assert.Equal(t, "database", b.ActiveEngine())
|
||||
|
||||
b.ElasticsearchEngine = esMock
|
||||
assert.Equal(t, "elasticsearch", b.ActiveEngine())
|
||||
|
||||
b.ElasticsearchEngine = nil
|
||||
b.BleveEngine = bleveMock
|
||||
assert.Equal(t, "bleve", b.ActiveEngine())
|
||||
|
||||
b.BleveEngine = nil
|
||||
*b.cfg.SqlSettings.DisableDatabaseSearch = true
|
||||
|
||||
assert.Equal(t, "none", b.ActiveEngine())
|
||||
}
|
||||
Ссылка в новой задаче
Block a user