MM-25115- migrate post, session and status cache to cache2 (#14667)

* use cache2.Provider cache

* use cache2.Provider cache

* clean up imports

* reset test runner

* add close() call

* Fixing i18n

* address review comments

Co-authored-by: Jesús Espino <jespinog@gmail.com>
Co-authored-by: mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
Siyuan Liu
2020-06-02 05:17:00 -04:00
коммит произвёл GitHub
родитель beadeaf8b5
Коммит c183a5d380
6 изменённых файлов: 83 добавлений и 49 удалений

Просмотреть файл

@@ -37,6 +37,7 @@ import (
"github.com/mattermost/mattermost-server/v5/plugin"
"github.com/mattermost/mattermost-server/v5/services/cache"
"github.com/mattermost/mattermost-server/v5/services/cache/lru"
"github.com/mattermost/mattermost-server/v5/services/cache2"
"github.com/mattermost/mattermost-server/v5/services/filesstore"
"github.com/mattermost/mattermost-server/v5/services/httpservice"
"github.com/mattermost/mattermost-server/v5/services/imageproxy"
@@ -105,9 +106,9 @@ type Server struct {
newStore func() store.Store
htmlTemplateWatcher *utils.HTMLTemplateWatcher
sessionCache cache.Cache
seenPendingPostIdsCache cache.Cache
statusCache cache.Cache
sessionCache cache2.Cache
seenPendingPostIdsCache cache2.Cache
statusCache cache2.Cache
configListenerId string
licenseListenerId string
logListenerId string
@@ -158,6 +159,8 @@ type Server struct {
CacheProvider cache.Provider
CacheProvider2 cache2.Provider
tracer *tracing.Tracer
timestampLastDiagnosticSent time.Time
}
@@ -256,9 +259,20 @@ func NewServer(options ...Option) (*Server, error) {
s.CacheProvider.Connect()
s.sessionCache = s.CacheProvider.NewCache(model.SESSION_CACHE_SIZE)
s.seenPendingPostIdsCache = s.CacheProvider.NewCache(PENDING_POST_IDS_CACHE_SIZE)
s.statusCache = s.CacheProvider.NewCache(model.STATUS_CACHE_SIZE)
s.CacheProvider2 = cache2.NewProvider()
if err := s.CacheProvider2.Connect(); err != nil {
return nil, errors.Wrapf(err, "Unable to connect to cache provider")
}
s.sessionCache = s.CacheProvider2.NewCache(&cache2.CacheOptions{
Size: model.SESSION_CACHE_SIZE,
})
s.seenPendingPostIdsCache = s.CacheProvider2.NewCache(&cache2.CacheOptions{
Size: PENDING_POST_IDS_CACHE_SIZE,
})
s.statusCache = s.CacheProvider2.NewCache(&cache2.CacheOptions{
Size: model.STATUS_CACHE_SIZE,
})
if err := s.RunOldAppInitialization(); err != nil {
return nil, err
@@ -486,6 +500,12 @@ func (s *Server) Shutdown() error {
s.CacheProvider.Close()
}
if s.CacheProvider2 != nil {
if err = s.CacheProvider2.Close(); err != nil {
mlog.Error("Unable to cleanly shutdown cache", mlog.Err(err))
}
}
mlog.Info("Server stopped")
return nil
}