summaryrefslogtreecommitdiffstats
path: root/build/scripts/error.py
diff options
context:
space:
mode:
authormonster <[email protected]>2022-07-07 14:41:37 +0300
committermonster <[email protected]>2022-07-07 14:41:37 +0300
commit06e5c21a835c0e923506c4ff27929f34e00761c2 (patch)
tree75efcbc6854ef9bd476eb8bf00cc5c900da436a2 /build/scripts/error.py
parent03f024c4412e3aa613bb543cf1660176320ba8f4 (diff)
fix ya.make
Diffstat (limited to 'build/scripts/error.py')
-rw-r--r--build/scripts/error.py77
1 files changed, 0 insertions, 77 deletions
diff --git a/build/scripts/error.py b/build/scripts/error.py
deleted file mode 100644
index f7d8ecb2cc0..00000000000
--- a/build/scripts/error.py
+++ /dev/null
@@ -1,77 +0,0 @@
-# Sync content of this file with devtools/ya/core/error/__init__.py
-
-TEMPORARY_ERROR_MESSAGES = [
- 'Connection reset by peer',
- 'Connection timed out',
- 'Function not implemented',
- 'I/O operation on closed file',
- 'Internal Server Error',
- 'Network connection closed unexpectedly',
- 'Network is unreachable',
- 'No route to host',
- 'No space left on device',
- 'Not enough space',
- 'Temporary failure in name resolution',
- 'The read operation timed out',
- 'timeout: timed out',
-]
-
-
-# Node exit codes
-class ExitCodes(object):
- TEST_FAILED = 10
- COMPILATION_FAILED = 11
- INFRASTRUCTURE_ERROR = 12
- NOT_RETRIABLE_ERROR = 13
- YT_STORE_FETCH_ERROR = 14
-
-
-def merge_exit_codes(exit_codes):
- return max(e if e >= 0 else 1 for e in exit_codes) if exit_codes else 0
-
-
-def is_temporary_error(exc):
- import logging
- logger = logging.getLogger(__name__)
-
- if getattr(exc, 'temporary', False):
- logger.debug("Exception has temporary attribute: %s", exc)
- return True
-
- import errno
- err = getattr(exc, 'errno', None)
-
- if err == errno.ECONNREFUSED or err == errno.ENETUNREACH:
- logger.debug("Exception has errno attribute: %s (errno=%s)", exc, err)
- return True
-
- import socket
-
- if isinstance(exc, socket.timeout) or isinstance(getattr(exc, 'reason', None), socket.timeout):
- logger.debug("Socket timeout exception: %s", exc)
- return True
-
- if isinstance(exc, socket.gaierror):
- logger.debug("Getaddrinfo exception: %s", exc)
- return True
-
- import urllib2
-
- if isinstance(exc, urllib2.HTTPError) and exc.code in (429, ):
- logger.debug("urllib2.HTTPError: %s", exc)
- return True
-
- import httplib
-
- if isinstance(exc, httplib.IncompleteRead):
- logger.debug("IncompleteRead exception: %s", exc)
- return True
-
- exc_str = str(exc)
-
- for message in TEMPORARY_ERROR_MESSAGES:
- if message in exc_str:
- logger.debug("Found temporary error pattern (%s): %s", message, exc_str)
- return True
-
- return False