Add exception handling that doesn't log the read-timeout exception
Note: This is a *hack* and needs to be replaced with proper code ASAP
This commit is contained in:
parent
75b36c0f33
commit
6655c7f745
1 changed files with 12 additions and 3 deletions
|
@ -87,9 +87,6 @@ class EphemeralBuilderManager(BaseManager):
|
|||
except ReadTimeoutError:
|
||||
logger.debug('Read-timeout on etcd watch %s, rescheduling', etcd_key)
|
||||
|
||||
except (ProtocolError, etcd.EtcdException):
|
||||
logger.exception('Exception on etcd watch: %s', etcd_key)
|
||||
|
||||
except etcd.EtcdEventIndexCleared:
|
||||
# This happens if etcd2 has moved forward too fast for us to start watching
|
||||
# at the index we retrieved. We therefore start a new watch at HEAD and
|
||||
|
@ -101,6 +98,18 @@ class EphemeralBuilderManager(BaseManager):
|
|||
if restarter is not None:
|
||||
async(restarter())
|
||||
|
||||
except etcd.EtcdException as eex:
|
||||
# TODO(jschorr): This is a quick and dirty hack and should be replaced
|
||||
# with a proper exception check.
|
||||
if str(eex.message).find('Read timed out') >= 0:
|
||||
logger.debug('Read-timeout on etcd watch %s, rescheduling', etcd_key)
|
||||
else:
|
||||
logger.exception('Exception on etcd watch: %s', etcd_key)
|
||||
|
||||
except ProtocolError:
|
||||
logger.exception('Exception on etcd watch: %s', etcd_key)
|
||||
|
||||
|
||||
if watch_task_key not in self._watch_tasks or self._watch_tasks[watch_task_key].done():
|
||||
self._watch_etcd(etcd_key, change_callback, start_index=new_index, restarter=restarter)
|
||||
|
||||
|
|
Reference in a new issue