dapr / dapr/dotnet-sdk

Resiliency can obfuscate exception thrown by actor if the timeout is lower than the combined resiliency time

Open
#996 2 comments 0 reactions 0 assignees View on GitHub
kind/bug
Dominant language
C#
Stars
1.2k
Forks
378
Avg merge
1d 22h
Merged PRs (30d)
5

Description

## Expected Behavior
If an exception is thrown by an actor and a resiliency policy is present the resiliency policy is executed.
If the problem isn't solved during the time the exception is shown.

## Actual Behavior
If an actor throws an exception and the resiliency policy takes more time than the http client timeout (100 seconds) the application will terminate the connection with a SocketException.

## Steps to Reproduce the Problem
Throw an exception inside a actor with a resiliency policy which ensures that the retries take more than 100 seconds.

**Example:**
https://github.com/fabistb/dotnet-dapr-actor-exception-resiliency

## Release Note

RELEASE NOTE: **FIX** Actor exception also surfaces if the resiliency policy takes more time than the http client timeout

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.