Migrate Status.SaveOrUpdate to Sync by default (#11359)

* Migrate Status.SaveOrUpdate to Sync by default

* address pr comments
This commit is contained in:
Sheshagiri Rao Mallipedhi
2019-06-24 15:33:29 +05:30
committed by Jesús Espino
parent 0199cef145
commit cca41427a4
8 changed files with 44 additions and 64 deletions

View File

@@ -80,8 +80,8 @@ func (cfg *AutoUserCreator) createRandomUser() (*model.User, bool) {
}
status := &model.Status{UserId: ruser.Id, Status: model.STATUS_ONLINE, Manual: false, LastActivityAt: model.GetMillis(), ActiveChannel: ""}
if result := <-cfg.app.Srv.Store.Status().SaveOrUpdate(status); result.Err != nil {
mlog.Error(result.Err.Error())
if err := cfg.app.Srv.Store.Status().SaveOrUpdate(status); err != nil {
mlog.Error(err.Error())
return nil, false
}

View File

@@ -94,7 +94,6 @@ func TestGenerateKey_TrustedHeader(t *testing.T) {
req.RemoteAddr = "10.10.10.5:80"
req.Header.Set("X-Forwarded-For", "10.6.3.1, 10.5.1.2")
rateLimiter, _ := NewRateLimiter(genRateLimitSettings(true, true, ""), []string{"X-Forwarded-For"})
key := rateLimiter.GenerateKey(req)
require.Equal(t, "10.6.3.1", key, "Wrong key on test with allowed trusted proxy header")

View File

@@ -8,7 +8,6 @@ import (
"github.com/mattermost/mattermost-server/mlog"
"github.com/mattermost/mattermost-server/model"
"github.com/mattermost/mattermost-server/store"
"github.com/mattermost/mattermost-server/utils"
)
@@ -216,16 +215,15 @@ func (a *App) SetStatusOnline(userId string, manual bool) {
// Only update the database if the status has changed, the status has been manually set,
// or enough time has passed since the previous action
if status.Status != oldStatus || status.Manual != oldManual || status.LastActivityAt-oldTime > model.STATUS_MIN_UPDATE_TIME {
var schan store.StoreChannel
if broadcast {
schan = a.Srv.Store.Status().SaveOrUpdate(status)
if err := a.Srv.Store.Status().SaveOrUpdate(status); err != nil {
mlog.Error(fmt.Sprintf("Failed to save status for user_id=%v, err=%v", userId, err), mlog.String("user_id", userId))
}
} else {
schan = a.Srv.Store.Status().UpdateLastActivityAt(status.UserId, status.LastActivityAt)
}
if result := <-schan; result.Err != nil {
mlog.Error(fmt.Sprintf("Failed to save status for user_id=%v, err=%v", userId, result.Err), mlog.String("user_id", userId))
schan := a.Srv.Store.Status().UpdateLastActivityAt(status.UserId, status.LastActivityAt)
if result := <-schan; result.Err != nil {
mlog.Error(fmt.Sprintf("Failed to save status for user_id=%v, err=%v", userId, result.Err), mlog.String("user_id", userId))
}
}
}
@@ -308,8 +306,8 @@ func (a *App) SetStatusDoNotDisturb(userId string) {
func (a *App) SaveAndBroadcastStatus(status *model.Status) {
a.AddStatusCache(status)
if result := <-a.Srv.Store.Status().SaveOrUpdate(status); result.Err != nil {
mlog.Error(fmt.Sprintf("Failed to save status for user_id=%v, err=%v", status.UserId, result.Err))
if err := a.Srv.Store.Status().SaveOrUpdate(status); err != nil {
mlog.Error(fmt.Sprintf("Failed to save status for user_id=%v, err=%v", status.UserId, err))
}
a.BroadcastStatus(status)