summaryrefslogtreecommitdiff
path: root/lib/gitlab/database/load_balancing/load_balancer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/database/load_balancing/load_balancer.rb')
-rw-r--r--lib/gitlab/database/load_balancing/load_balancer.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/gitlab/database/load_balancing/load_balancer.rb b/lib/gitlab/database/load_balancing/load_balancer.rb
index cc9ca325337..2be7f0baa60 100644
--- a/lib/gitlab/database/load_balancing/load_balancer.rb
+++ b/lib/gitlab/database/load_balancing/load_balancer.rb
@@ -52,7 +52,10 @@ module Gitlab
connection = host.connection
return yield connection
rescue StandardError => error
- if serialization_failure?(error)
+ if primary_only?
+ # If we only have primary configured, retrying is pointless
+ raise error
+ elsif serialization_failure?(error)
# This error can occur when a query conflicts. See
# https://www.postgresql.org/docs/current/static/hot-standby.html#HOT-STANDBY-CONFLICT
# for more information.