StatusStore migration (#14978)
* Finished! * Typos * Fix error * Fix layers * Lint: remove unnecessary use of sprint * Fix shadowing err
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
909cda6d49
Коммит
32b7d2b5f1
@@ -4510,39 +4510,123 @@ func (s *RetryLayerSessionStore) UpdateRoles(userId string, roles string) (strin
|
||||
|
||||
}
|
||||
|
||||
func (s *RetryLayerStatusStore) Get(userId string) (*model.Status, *model.AppError) {
|
||||
func (s *RetryLayerStatusStore) Get(userId string) (*model.Status, error) {
|
||||
|
||||
return s.StatusStore.Get(userId)
|
||||
tries := 0
|
||||
for {
|
||||
result, err := s.StatusStore.Get(userId)
|
||||
if err == nil {
|
||||
return result, err
|
||||
}
|
||||
if !isRepeatableError(err) {
|
||||
return result, err
|
||||
}
|
||||
tries++
|
||||
if tries >= 3 {
|
||||
err = errors.Wrap(err, "giving up after 3 consecutive repeatable transaction failures")
|
||||
return result, err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func (s *RetryLayerStatusStore) GetByIds(userIds []string) ([]*model.Status, *model.AppError) {
|
||||
func (s *RetryLayerStatusStore) GetByIds(userIds []string) ([]*model.Status, error) {
|
||||
|
||||
return s.StatusStore.GetByIds(userIds)
|
||||
tries := 0
|
||||
for {
|
||||
result, err := s.StatusStore.GetByIds(userIds)
|
||||
if err == nil {
|
||||
return result, err
|
||||
}
|
||||
if !isRepeatableError(err) {
|
||||
return result, err
|
||||
}
|
||||
tries++
|
||||
if tries >= 3 {
|
||||
err = errors.Wrap(err, "giving up after 3 consecutive repeatable transaction failures")
|
||||
return result, err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func (s *RetryLayerStatusStore) GetTotalActiveUsersCount() (int64, *model.AppError) {
|
||||
func (s *RetryLayerStatusStore) GetTotalActiveUsersCount() (int64, error) {
|
||||
|
||||
return s.StatusStore.GetTotalActiveUsersCount()
|
||||
tries := 0
|
||||
for {
|
||||
result, err := s.StatusStore.GetTotalActiveUsersCount()
|
||||
if err == nil {
|
||||
return result, err
|
||||
}
|
||||
if !isRepeatableError(err) {
|
||||
return result, err
|
||||
}
|
||||
tries++
|
||||
if tries >= 3 {
|
||||
err = errors.Wrap(err, "giving up after 3 consecutive repeatable transaction failures")
|
||||
return result, err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func (s *RetryLayerStatusStore) ResetAll() *model.AppError {
|
||||
func (s *RetryLayerStatusStore) ResetAll() error {
|
||||
|
||||
return s.StatusStore.ResetAll()
|
||||
tries := 0
|
||||
for {
|
||||
err := s.StatusStore.ResetAll()
|
||||
if err == nil {
|
||||
return err
|
||||
}
|
||||
if !isRepeatableError(err) {
|
||||
return err
|
||||
}
|
||||
tries++
|
||||
if tries >= 3 {
|
||||
err = errors.Wrap(err, "giving up after 3 consecutive repeatable transaction failures")
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func (s *RetryLayerStatusStore) SaveOrUpdate(status *model.Status) *model.AppError {
|
||||
func (s *RetryLayerStatusStore) SaveOrUpdate(status *model.Status) error {
|
||||
|
||||
return s.StatusStore.SaveOrUpdate(status)
|
||||
tries := 0
|
||||
for {
|
||||
err := s.StatusStore.SaveOrUpdate(status)
|
||||
if err == nil {
|
||||
return err
|
||||
}
|
||||
if !isRepeatableError(err) {
|
||||
return err
|
||||
}
|
||||
tries++
|
||||
if tries >= 3 {
|
||||
err = errors.Wrap(err, "giving up after 3 consecutive repeatable transaction failures")
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func (s *RetryLayerStatusStore) UpdateLastActivityAt(userId string, lastActivityAt int64) *model.AppError {
|
||||
func (s *RetryLayerStatusStore) UpdateLastActivityAt(userId string, lastActivityAt int64) error {
|
||||
|
||||
return s.StatusStore.UpdateLastActivityAt(userId, lastActivityAt)
|
||||
tries := 0
|
||||
for {
|
||||
err := s.StatusStore.UpdateLastActivityAt(userId, lastActivityAt)
|
||||
if err == nil {
|
||||
return err
|
||||
}
|
||||
if !isRepeatableError(err) {
|
||||
return err
|
||||
}
|
||||
tries++
|
||||
if tries >= 3 {
|
||||
err = errors.Wrap(err, "giving up after 3 consecutive repeatable transaction failures")
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user