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>
Этот коммит содержится в:
@@ -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
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user