summaryrefslogtreecommitdiff
path: root/src/couch_jobs/src/couch_jobs_type_monitor.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/couch_jobs/src/couch_jobs_type_monitor.erl')
-rw-r--r--src/couch_jobs/src/couch_jobs_type_monitor.erl5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/couch_jobs/src/couch_jobs_type_monitor.erl b/src/couch_jobs/src/couch_jobs_type_monitor.erl
index 04ad60acc..a62eb6217 100644
--- a/src/couch_jobs/src/couch_jobs_type_monitor.erl
+++ b/src/couch_jobs/src/couch_jobs_type_monitor.erl
@@ -55,7 +55,10 @@ loop(#st{vs = VS, timeout = Timeout} = St) ->
try
erlfdb:wait(Watch, [{timeout, Timeout}])
catch
- error:{erlfdb_error, ?FUTURE_VERSION} ->
+ error:{erlfdb_error, ?ERLFDB_TRANSACTION_TIMED_OUT} ->
+ erlfdb:cancel(Watch, [flush]),
+ ok;
+ error:{erlfdb_error, Code} when ?ERLFDB_IS_RETRYABLE(Code) ->
erlfdb:cancel(Watch, [flush]),
ok;
error:{timeout, _} ->