algolia / algolia/algoliasearch-client-python

retryable error doesn't increment connection timeout number

Open
#440 0 comments 0 reactions 0 assignees View on GitHub
Bug
Dominant language
Python
Stars
207
Forks
63
PR merge metrics
No merged PRs in 30d

Description

Looking at the retry specs, we see that:
```
When retrying, use the next host in your array.
When retrying because of a timeout, raise the timeouts like this:
number_of_tries * base_timeout
Example: Search (5s timeout) → Search timeout → Search (10s timeout) → Repeat.
```

At the moment, on the Python API Client we don't use yet the `retry_count` for this.

**Goal**:

1. Multiple timeouts by the number of tries on the line https://github.com/algolia/algoliasearch-client-python/blob/97a6f15542f6a8951cdbcd0d2881a744ec24e329/algoliasearch/http/transporter.py#L72.

2. Add a test on it.

Implementation on C#: https://github.com/algolia/algoliasearch-client-csharp/blob/42ab1842f859df87482602b12d5cb714bfa8ec71/src/Algolia.Search/Transport/HttpTransport.cs#L118

Contributor guide

Open the contributing guide

Research direction

Start in algoliasearch/http/transporter.py at the linked line and review the retry specs for timeout behavior, using the C# implementation as a reference. Add a test covering timeout growth by retry count, and consider the work done when the retryable connection timeout increases as specified and the test passes.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, search
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.