ci/lava: Retry when data fetching log RPC call is corrupted

Rarely the jobs.logs RPC call can return corrupted data, such as
mal-formed YAML data. As this is expected and very rare to occur, let's
retry this RPC call several times to give it a chance to fix itself.

Retrying would not swallow the log lines since we keep track of how many
log lines each job has.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15938>
This commit is contained in:
Guilherme Gallo
2022-04-20 20:55:47 -03:00
committed by Marge Bot
parent 4ffd21ca70
commit 201b0b6d29
3 changed files with 64 additions and 12 deletions

View File

@@ -14,4 +14,8 @@ class MesaCITimeoutError(MesaCIException):
class MesaCIRetryError(MesaCIException):
def __init__(self, *args, retry_count: int) -> None:
super().__init__(*args)
self.retry_count = retry_count
self.retry_count = retry_count
class MesaCIParseException(MesaCIException):
pass