From 7cb9adeb2debe0116f1f7d1bd3976a6ac427f25b Mon Sep 17 00:00:00 2001 From: Matt Sokoloff Date: Wed, 25 Jan 2023 16:09:39 -0500 Subject: [PATCH 1/4] retry connection timeouts --- labelbox/client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/labelbox/client.py b/labelbox/client.py index 4d46a5024..2ac5caead 100644 --- a/labelbox/client.py +++ b/labelbox/client.py @@ -97,7 +97,7 @@ def __init__(self, self._data_row_metadata_ontology = None @retry.Retry(predicate=retry.if_exception_type( - labelbox.exceptions.InternalServerError)) + labelbox.exceptions.InternalServerError, labelbox.exceptions.TimeoutError)) def execute(self, query=None, params=None, From 4e5d5560233407ea26ab621d289d3fb817799397 Mon Sep 17 00:00:00 2001 From: Matt Sokoloff Date: Wed, 25 Jan 2023 16:10:48 -0500 Subject: [PATCH 2/4] format --- labelbox/client.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/labelbox/client.py b/labelbox/client.py index 2ac5caead..b7f232dfb 100644 --- a/labelbox/client.py +++ b/labelbox/client.py @@ -97,7 +97,8 @@ def __init__(self, self._data_row_metadata_ontology = None @retry.Retry(predicate=retry.if_exception_type( - labelbox.exceptions.InternalServerError, labelbox.exceptions.TimeoutError)) + labelbox.exceptions.InternalServerError, + labelbox.exceptions.TimeoutError)) def execute(self, query=None, params=None, From 4fdb69a74f7335c39c4372edac9e4c6fb297aa80 Mon Sep 17 00:00:00 2001 From: Matt Sokoloff Date: Wed, 25 Jan 2023 16:11:32 -0500 Subject: [PATCH 3/4] update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 280490def..69a71390a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +# Version 3.37.0 (2023-xx-xx) +## Fixed +* Retry connection timeouts + # Version 3.36.1 (2023-01-24) ### Fixed * `confidence` is now optional for TextEntity From 943e659e63178da1d7866f4973f544aaf9e113e6 Mon Sep 17 00:00:00 2001 From: Matt Sokoloff Date: Thu, 26 Jan 2023 08:14:08 -0500 Subject: [PATCH 4/4] update test --- tests/integration/test_client_errors.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/tests/integration/test_client_errors.py b/tests/integration/test_client_errors.py index fdec2f467..110548d05 100644 --- a/tests/integration/test_client_errors.py +++ b/tests/integration/test_client_errors.py @@ -2,6 +2,7 @@ import os import time import pytest +from google.api_core.exceptions import RetryError from labelbox import Project, Dataset, User import labelbox.client @@ -43,12 +44,12 @@ def test_semantic_error(client): def test_timeout_error(client, project): - with pytest.raises(labelbox.exceptions.TimeoutError) as excinfo: - query_str = """query getOntology { - project (where: {id: %s}) { - ontology { - normalized - } + with pytest.raises(RetryError) as excinfo: + query_str = """query getOntology { + project (where: {id: %s}) { + ontology { + normalized + } } } """ % (project.uid)