dapr / dapr/dotnet-sdk

Cryptic and un-actionable error message when actor interfaces do not match

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

Description

## Expected Behavior

A mismatch in actor interface contracts can be reported in a way that makes sense.

## Actual Behavior

Having a mismatch in details like what *namespace* an interface or DTO is declared in results in a cryptic error message.

```txt
No interface found with this Id 403064080
```

This error can't really be reasoned about since it's a generated checksum. Fixing the problem is a matter of trial and error. I don't have in my head yet a clear picture of what exactly has to match for communication to work properly.

It seems like the best way (right now) to use actors with Dapr is to rely on binary dependencies to share contracts. This fights with the rationale for using microservices in the first place (to version and deploy separately).

## Steps to Reproduce the Problem

Using the actor sample in the repo - remove the project reference from the sample client. Copy the `IDemoActor` interface into the sample project, and change the namespace used to declare to be inconsistent with the hosting project.

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.