mirror of
https://github.com/internetarchive/warcprox.git
synced 2025-01-18 13:22:09 +01:00
recover from a transient error, which happens for me at least rethinkdb starts up
This commit is contained in:
parent
501ec1ff23
commit
6c57b81de8
@ -21,6 +21,7 @@ import logging
|
||||
import random
|
||||
import time
|
||||
import types
|
||||
import re
|
||||
|
||||
class RethinkerWrapper(object):
|
||||
logger = logging.getLogger('doublethink.RethinkerWrapper')
|
||||
@ -66,6 +67,16 @@ class RethinkerWrapper(object):
|
||||
return result
|
||||
except r.ReqlTimeoutError as e:
|
||||
time.sleep(0.5)
|
||||
except r.ReqlOpFailedError as e:
|
||||
if e.args and re.match(
|
||||
'^Cannot perform.*primary replica.*not available.*',
|
||||
e.args[0]):
|
||||
self.logger.error(
|
||||
'will keep trying after potentially recoverable '
|
||||
'error: %s', e)
|
||||
time.sleep(0.5)
|
||||
else:
|
||||
raise
|
||||
finally:
|
||||
if not is_iter:
|
||||
conn.close(noreply_wait=False)
|
||||
|
Loading…
x
Reference in New Issue
Block a user