temporalio / temporalio/sdk-python
[Feature Request] Handle edge case of recursive exceptions in failure converter
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 1.2k
- Forks
- 241
- Ø Merge
- 3 T. 21 Std.
- Gemergte PRs (30 T.)
- 55
Beschreibung
Is your feature request related to a problem? Please describe.
It is kind of an easy mistake to do in python:
try:
raise ValueError("test")
except Exception as e:
raise e from e
The re-raised exception will have e.__cause__ referencing itself resulting in failure to serialize error and python sdk won't report anything resulting in retries and startToClose timeouts.
Describe the solution you'd like
Handle a case when e.__cause__ == e in DefaultFailureConverter. Created a dummy pull request #696
Additional context
https://temporalio.slack.com/archives/CTT84RS0P/p1719632201314119
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginnen Sie bei DefaultFailureConverter und prüfen Sie das rekursive Ausnahmebeispiel im Issue. Sehen Sie sich anschließend den Dummy-Pull-Request #696 für den vorgeschlagenen Umfang an. Erledigt ist die Aufgabe, wenn der Fall mit selbstreferenzierendem cause nicht mehr bei der Serialisierung fehlschlägt und das Python SDK ihn melden kann.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- backend
- Issue-Typ
- Feature
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 35/100