Skip to content

Commit 36af81b

Browse files
committed
retries with tenacity for python sdk
Currently rety loop is done by hand and does not expose all required configuration args to the user i.e., for customizing health check backoffs, custom wait times, etc. This has resulted in issues where an error is raised even though it would have succeeded with a longer backoff. This PR introduces tenacity for more granualar retry control, introduces a standard exponential backoff pattern, and retains logic that captures spurious 502s as well as real 502s where the cluster is upgrading. Signed-off-by: Anand Raman <anand.raman@feldera.com> docs and timeout tests and Retry-After header
1 parent bdb2b29 commit 36af81b

10 files changed

Lines changed: 665 additions & 195 deletions

File tree

python/feldera/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from feldera.rest.feldera_client import FelderaClient as FelderaClient
2+
from feldera.rest.retry import RetryConfig as RetryConfig
23
from feldera.pipeline import Pipeline as Pipeline
34
from feldera.pipeline_builder import PipelineBuilder as PipelineBuilder
45
from feldera.rest._helpers import determine_client_version

python/feldera/rest/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@
99
"""
1010

1111
from feldera.rest.feldera_client import FelderaClient as FelderaClient
12+
from feldera.rest.retry import RetryConfig as RetryConfig

0 commit comments

Comments
 (0)