SystemStore migration to return plain errors (#14835)

* SystemStore migration to return plain errors

* Fix nilness

* Fix translations

* Fix merge

* Fix layers

* Fix merge errors

* Lint: remove unnecessary use of sprint

* Fix merge errors

* Fix i18n

Co-authored-by: Agniva De Sarker <agnivade@yahoo.co.in>
Этот коммит содержится в:
Rodrigo Villablanca
2020-08-13 11:02:57 -04:00
коммит произвёл GitHub
родитель e8d431ee7c
Коммит 20e44399c7
18 изменённых файлов: 252 добавлений и 173 удалений

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

@@ -4630,45 +4630,143 @@ func (s *RetryLayerStatusStore) UpdateLastActivityAt(userId string, lastActivity
}
func (s *RetryLayerSystemStore) Get() (model.StringMap, *model.AppError) {
func (s *RetryLayerSystemStore) Get() (model.StringMap, error) {
return s.SystemStore.Get()
tries := 0
for {
result, err := s.SystemStore.Get()
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 *RetryLayerSystemStore) GetByName(name string) (*model.System, *model.AppError) {
func (s *RetryLayerSystemStore) GetByName(name string) (*model.System, error) {
return s.SystemStore.GetByName(name)
tries := 0
for {
result, err := s.SystemStore.GetByName(name)
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 *RetryLayerSystemStore) InsertIfExists(system *model.System) (*model.System, *model.AppError) {
func (s *RetryLayerSystemStore) InsertIfExists(system *model.System) (*model.System, error) {
return s.SystemStore.InsertIfExists(system)
tries := 0
for {
result, err := s.SystemStore.InsertIfExists(system)
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 *RetryLayerSystemStore) PermanentDeleteByName(name string) (*model.System, *model.AppError) {
func (s *RetryLayerSystemStore) PermanentDeleteByName(name string) (*model.System, error) {
return s.SystemStore.PermanentDeleteByName(name)
tries := 0
for {
result, err := s.SystemStore.PermanentDeleteByName(name)
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 *RetryLayerSystemStore) Save(system *model.System) *model.AppError {
func (s *RetryLayerSystemStore) Save(system *model.System) error {
return s.SystemStore.Save(system)
tries := 0
for {
err := s.SystemStore.Save(system)
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 *RetryLayerSystemStore) SaveOrUpdate(system *model.System) *model.AppError {
func (s *RetryLayerSystemStore) SaveOrUpdate(system *model.System) error {
return s.SystemStore.SaveOrUpdate(system)
tries := 0
for {
err := s.SystemStore.SaveOrUpdate(system)
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 *RetryLayerSystemStore) Update(system *model.System) *model.AppError {
func (s *RetryLayerSystemStore) Update(system *model.System) error {
return s.SystemStore.Update(system)
tries := 0
for {
err := s.SystemStore.Update(system)
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
}
}
}