From 5b1a716e2c1a057b054074545d9083842fd5eed3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Espino?= Date: Fri, 20 Nov 2020 10:32:30 +0100 Subject: [PATCH] Removing AppError check from the retry layer (#16307) --- store/layer_generators/main.go | 15 +--------- store/layer_generators/retry_layer.go.tmpl | 32 ++++++++++------------ 2 files changed, 15 insertions(+), 32 deletions(-) diff --git a/store/layer_generators/main.go b/store/layer_generators/main.go index 20d938599b..72b6af7762 100644 --- a/store/layer_generators/main.go +++ b/store/layer_generators/main.go @@ -20,16 +20,11 @@ import ( const ( OPEN_TRACING_PARAMS_MARKER = "@openTracingParams" - APP_ERROR_TYPE = "*model.AppError" ERROR_TYPE = "error" ) func isError(typeName string) bool { - return strings.Contains(typeName, APP_ERROR_TYPE) || strings.Contains(typeName, ERROR_TYPE) -} - -func isAppError(typeName string) bool { - return strings.Contains(typeName, APP_ERROR_TYPE) + return strings.Contains(typeName, ERROR_TYPE) } func main() { @@ -256,14 +251,6 @@ func generateLayer(name, templateFile string) ([]byte, error) { } return "true" }, - "isAppError": func(results []string) bool { - for _, typeName := range results { - if isAppError(typeName) { - return true - } - } - return false - }, "errorPresent": func(results []string) bool { for _, typeName := range results { if isError(typeName) { diff --git a/store/layer_generators/retry_layer.go.tmpl b/store/layer_generators/retry_layer.go.tmpl index 07d1b4159c..7c9c136b31 100644 --- a/store/layer_generators/retry_layer.go.tmpl +++ b/store/layer_generators/retry_layer.go.tmpl @@ -60,25 +60,21 @@ func (s *{{$.Name}}{{$substoreName}}Store) {{$index}}({{$element.Params | joinPa s.{{$substoreName}}Store.{{$index}}({{$element.Params | joinParams}}) {{else}} {{if $element.Results | errorPresent}} - {{if $element.Results | isAppError}} - return s.{{$substoreName}}Store.{{$index}}({{$element.Params | joinParams}}) - {{else}} - tries := 0 - for { - {{genResultsVars $element.Results false }} := s.{{$substoreName}}Store.{{$index}}({{$element.Params | joinParams}}) - if {{$element.Results | errorVar}} == nil { - return {{genResultsVars $element.Results true }} - } - if !isRepeatableError({{$element.Results | errorVar}}) { - return {{genResultsVars $element.Results false }} - } - tries++ - if tries >= 3 { - {{$element.Results | errorVar}} = errors.Wrap({{$element.Results | errorVar}}, "giving up after 3 consecutive repeatable transaction failures") - return {{genResultsVars $element.Results false }} - } + tries := 0 + for { + {{genResultsVars $element.Results false }} := s.{{$substoreName}}Store.{{$index}}({{$element.Params | joinParams}}) + if {{$element.Results | errorVar}} == nil { + return {{genResultsVars $element.Results true }} } - {{end}} + if !isRepeatableError({{$element.Results | errorVar}}) { + return {{genResultsVars $element.Results false }} + } + tries++ + if tries >= 3 { + {{$element.Results | errorVar}} = errors.Wrap({{$element.Results | errorVar}}, "giving up after 3 consecutive repeatable transaction failures") + return {{genResultsVars $element.Results false }} + } + } {{else}} return s.{{$substoreName}}Store.{{$index}}({{$element.Params | joinParams}}) {{end}}