Skip to content

Consider better patterns for handling errors in Actors #1307

@ryardley

Description

@ryardley

Because of some dependency complexities (circular dependencies)

It is difficult for some components to have access to a BusHandle to publish

I have currently used a PanicDispatcher in the snapshot buffer that panics when there are errors. This is ok and was out of necessity but it really should trigger a total shutdown. Panic will instead simply crash the actor. Also we should be publishing all errors on the bus.

Using a delayed Dispatcher might be nice where we pass the dispatcher in and then later set the bus once it is created. This could be used everywhere that cannot get access to a BusHandle.

We can also think about how we want to manage failure here which has not really been done to any extent. An error here could mean that the system shuts down gracefully for example.

Perhaps the actor supervisor can be passed as an error dispatcher?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingciphernodeRelated to the ciphernode packagerefactoringimproving a software's internal structure without changing its external behavior or functionality

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions