File tree Expand file tree Collapse file tree 2 files changed +11
-1
lines changed Expand file tree Collapse file tree 2 files changed +11
-1
lines changed Original file line number Diff line number Diff line change @@ -13,8 +13,9 @@ class Configuration
13
13
retry_delay
14
14
max_tries
15
15
sensitive_logger
16
+ lock_timeout
17
+ safe_timeout
16
18
] )
17
- attr_reader :lock_timeout , :safe_timeout
18
19
19
20
def initialize
20
21
self . default_value_backfill_threshold = nil
Original file line number Diff line number Diff line change @@ -21,6 +21,15 @@ def retry_if_lock_timeout
21
21
raise if transaction_open? # Retrying is useless if we're inside a transaction.
22
22
raise unless remaining_tries > 0
23
23
24
+ number_of_retries = SafePgMigrations . config . max_tries - remaining_tries
25
+ if SafePgMigrations . config . max_tries - remaining_tries <= 20
26
+ SafePgMigrations . config . lock_timeout = SafePgMigrations . config . lock_timeout * number_of_retries
27
+ SafePgMigrations . config . safe_timeout = SafePgMigrations . config . safe_timeout * number_of_retries
28
+ else
29
+ SafePgMigrations . config . lock_timeout = SafePgMigrations . config . lock_timeout * 20
30
+ SafePgMigrations . config . safe_timeout = SafePgMigrations . config . safe_timeout * 20
31
+ end
32
+
24
33
retry_delay = SafePgMigrations . config . retry_delay
25
34
Helpers ::Logger . say "Retrying in #{ retry_delay } seconds..." , sub_item : true
26
35
sleep retry_delay
You can’t perform that action at this time.
0 commit comments