Skip to content

Conversation

yunmanger1
Copy link

Handle edge case of recursive exceptions in failure converter.

Why?

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.

@yunmanger1 yunmanger1 requested a review from a team as a code owner December 3, 2024 21:39
@CLAassistant
Copy link

CLAassistant commented Dec 3, 2024

CLA assistant check
All committers have signed the CLA.

@yunmanger1 yunmanger1 force-pushed the fix-recursive-error-serialization branch from 4e4f84a to 1ec3f62 Compare December 3, 2024 21:43
It is kind of an easy mistake to do in python:

```
try:
    raise ValueError("test")
except Exception as e:
    raise e from e
```

The reraised 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants