temporalio / temporalio/sdk-python
[Feature Request] Handle edge case of recursive exceptions in failure converter
オープン
まだ誰も着手していません。
enhancement
- 主要言語
- Python
- スター
- 1.2k
- フォーク
- 241
- 平均マージ
- 3日 21時間
- マージ済み PR(30日)
- 55
説明
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
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
DefaultFailureConverter から始めて issue の再帰的な例外の例を確認し、その後、提案された範囲についてダミーの pull request #696 を調べてください。cause が自己参照するケースでシリアライズに失敗しなくなり、Python SDK がそれを報告できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- backend
- issue の種類
- 機能追加
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 活発さ
- 停滞
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 35/100