From 25da7a1b1a17baff3438f2e0af48cd89794bb405 Mon Sep 17 00:00:00 2001 From: Timm Fitschen <timm.fitschen@ds.mpg.de> Date: Thu, 20 Dec 2018 09:26:46 +0100 Subject: [PATCH] BUG: catch broken pipe and retry --- src/caosdb/connection/connection.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/caosdb/connection/connection.py b/src/caosdb/connection/connection.py index 0d4e3107..38476893 100644 --- a/src/caosdb/connection/connection.py +++ b/src/caosdb/connection/connection.py @@ -30,7 +30,7 @@ try: except ImportError: from urllib import quote from urlparse import urlparse - +from errno import EPIPE as BrokenPipe from socket import error as SocketError import ssl import logging @@ -458,6 +458,13 @@ class _Connection(object): # pylint: disable=useless-object-inheritance return self._retry_http_request(method=method, path=path, headers=headers, body=body, **kwargs) + except SocketError as e: + if e.errno != BrokenPipe: + raise + return self._retry_http_request(method=method, path=path, + headers=headers, body=body, + reconnect=False, + **kwargs) except LoginFailedException: if kwargs.get("reconnect", True) is True: self._login() -- GitLab