MM-35133 trigger sync user immediately after change (#17579)
- ensure changes to user profile sync immediately - refactor sync send
Этот коммит содержится в:
@@ -159,6 +159,7 @@ type Server struct {
|
||||
|
||||
telemetryService *telemetry.TelemetryService
|
||||
|
||||
serviceMux sync.RWMutex
|
||||
remoteClusterService remotecluster.RemoteClusterServiceIFace
|
||||
sharedChannelService SharedChannelServiceIFace
|
||||
|
||||
@@ -873,16 +874,19 @@ func (s *Server) startInterClusterServices(license *model.License, app *App) err
|
||||
|
||||
var err error
|
||||
|
||||
s.remoteClusterService, err = remotecluster.NewRemoteClusterService(s)
|
||||
rcs, err := remotecluster.NewRemoteClusterService(s)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err = s.remoteClusterService.Start(); err != nil {
|
||||
s.remoteClusterService = nil
|
||||
if err = rcs.Start(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
s.serviceMux.Lock()
|
||||
s.remoteClusterService = rcs
|
||||
s.serviceMux.Unlock()
|
||||
|
||||
// Shared Channels service
|
||||
|
||||
// License check
|
||||
@@ -897,15 +901,19 @@ func (s *Server) startInterClusterServices(license *model.License, app *App) err
|
||||
return nil
|
||||
}
|
||||
|
||||
s.sharedChannelService, err = sharedchannel.NewSharedChannelService(s, app)
|
||||
scs, err := sharedchannel.NewSharedChannelService(s, app)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err = s.sharedChannelService.Start(); err != nil {
|
||||
s.remoteClusterService = nil
|
||||
if err = scs.Start(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
s.serviceMux.Lock()
|
||||
s.sharedChannelService = scs
|
||||
s.serviceMux.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -967,11 +975,18 @@ func (s *Server) Shutdown() {
|
||||
mlog.Warn("Unable to cleanly shutdown telemetry client", mlog.Err(err))
|
||||
}
|
||||
|
||||
s.serviceMux.RLock()
|
||||
if s.sharedChannelService != nil {
|
||||
if err = s.sharedChannelService.Shutdown(); err != nil {
|
||||
mlog.Error("Error shutting down shared channel services", mlog.Err(err))
|
||||
}
|
||||
}
|
||||
if s.remoteClusterService != nil {
|
||||
if err = s.remoteClusterService.Shutdown(); err != nil {
|
||||
mlog.Error("Error shutting down intercluster services", mlog.Err(err))
|
||||
}
|
||||
}
|
||||
s.serviceMux.RUnlock()
|
||||
|
||||
s.StopHTTPServer()
|
||||
s.stopLocalModeServer()
|
||||
@@ -1992,12 +2007,16 @@ func (s *Server) GetStore() store.Store {
|
||||
// GetRemoteClusterService returns the `RemoteClusterService` instantiated by the server.
|
||||
// May be nil if the service is not enabled via license.
|
||||
func (s *Server) GetRemoteClusterService() remotecluster.RemoteClusterServiceIFace {
|
||||
s.serviceMux.RLock()
|
||||
defer s.serviceMux.RUnlock()
|
||||
return s.remoteClusterService
|
||||
}
|
||||
|
||||
// GetSharedChannelSyncService returns the `SharedChannelSyncService` instantiated by the server.
|
||||
// May be nil if the service is not enabled via license.
|
||||
func (s *Server) GetSharedChannelSyncService() SharedChannelServiceIFace {
|
||||
s.serviceMux.RLock()
|
||||
defer s.serviceMux.RUnlock()
|
||||
return s.sharedChannelService
|
||||
}
|
||||
|
||||
@@ -2010,12 +2029,16 @@ func (s *Server) GetMetrics() einterfaces.MetricsInterface {
|
||||
// SetRemoteClusterService sets the `RemoteClusterService` to be used by the server.
|
||||
// For testing only.
|
||||
func (s *Server) SetRemoteClusterService(remoteClusterService remotecluster.RemoteClusterServiceIFace) {
|
||||
s.serviceMux.Lock()
|
||||
defer s.serviceMux.Unlock()
|
||||
s.remoteClusterService = remoteClusterService
|
||||
}
|
||||
|
||||
// SetSharedChannelSyncService sets the `SharedChannelSyncService` to be used by the server.
|
||||
// For testing only.
|
||||
func (s *Server) SetSharedChannelSyncService(sharedChannelService SharedChannelServiceIFace) {
|
||||
s.serviceMux.Lock()
|
||||
defer s.serviceMux.Unlock()
|
||||
s.sharedChannelService = sharedChannelService
|
||||
}
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user