Skip to content

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

@rynowak

Description

@rynowak

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.

 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions