Skip to content

Commit 4c42e9a

Browse files
GOV-667: Added back is retry method
1 parent 889df11 commit 4c42e9a

3 files changed

Lines changed: 14 additions & 8 deletions

File tree

pyatlan/client/transport.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,11 @@ def handle_request(self, request: httpx.Request) -> httpx.Response:
8282
"""
8383
logger.debug("handle_request started request=%s", request)
8484

85-
send_method = partial(self._transport.handle_request)
86-
response = self._retry_operation(request, send_method)
85+
if self.retry.is_retryable_method(request.method):
86+
send_method = partial(self._transport.handle_request)
87+
response = self._retry_operation(request, send_method)
88+
else:
89+
response = self._transport.handle_request(request)
8790

8891
logger.debug(
8992
"handle_request finished request=%s response=%s", request, response
@@ -196,8 +199,11 @@ async def handle_async_request(self, request: httpx.Request) -> httpx.Response:
196199
"""
197200
logger.debug("handle_async_request started request=%s", request)
198201

199-
send_method = partial(self._transport.handle_async_request)
200-
response = await self._retry_operation_async(request, send_method)
202+
if self.retry.is_retryable_method(request.method):
203+
send_method = partial(self._transport.handle_async_request)
204+
response = await self._retry_operation_async(request, send_method)
205+
else:
206+
response = await self._transport.handle_async_request(request)
201207

202208
logger.debug(
203209
"handle_async_request finished request=%s response=%s", request, response

tests/integration/transport_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ def test_duplicate_prevention_on_timeout(client: AtlanClient): # noqa: F811
7979
policy_name = f"{MODULE_NAME}_DupCheck"
8080

8181
transport = PyatlanSyncTransport(
82-
retry=Retry(total=3, backoff_factor=0),
82+
retry=Retry(total=3, backoff_factor=0, allowed_methods=["POST"]),
8383
client=client,
8484
trust_env=True,
8585
)
@@ -151,7 +151,7 @@ def test_duplicate_prevention_short_circuits_when_policy_exists(
151151
}
152152

153153
transport = PyatlanSyncTransport(
154-
retry=Retry(total=3, backoff_factor=0),
154+
retry=Retry(total=3, backoff_factor=0, allowed_methods=["POST"]),
155155
client=client,
156156
trust_env=True,
157157
)

tests/unit/test_transport.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ async def test_propagates_search_error(self):
293293
class TestPyatlanSyncTransportRetry:
294294
def _make_transport(self, client=None):
295295
transport = PyatlanSyncTransport(
296-
retry=Retry(total=3, backoff_factor=0),
296+
retry=Retry(total=3, backoff_factor=0, allowed_methods=["POST"]),
297297
client=client,
298298
trust_env=False,
299299
)
@@ -391,7 +391,7 @@ def test_no_duplicate_check_on_first_attempt(self):
391391
class TestPyatlanAsyncTransportRetry:
392392
def _make_transport(self, client=None):
393393
transport = PyatlanAsyncTransport(
394-
retry=Retry(total=3, backoff_factor=0),
394+
retry=Retry(total=3, backoff_factor=0, allowed_methods=["POST"]),
395395
client=client,
396396
trust_env=False,
397397
)

0 commit comments

Comments
 (0)