algolia / algolia/algoliasearch-client-python

retryable error doesn't increment connection timeout number

Offen
#440 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Bug
Vorherrschende Sprache
Python
Sterne
207
Forks
63
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne in algoliasearch/http/transporter.py an der verlinkten Zeile und überprüfe die Retry-Spezifikationen für das Timeout-Verhalten, wobei du die C#-Implementierung als Referenz verwendest. Füge einen Test hinzu, der das Wachstum des Timeouts mit der Anzahl der Retries abdeckt, und betrachte die Arbeit als abgeschlossen, wenn das retrybare Verbindungs-Timeout wie spezifiziert zunimmt und der Test erfolgreich ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
api, search
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
50/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.