Skip to content

BlueAPI should expose type information from exceptions raised in plans to calling clients. #1312

@rtuck99

Description

@rtuck99

Hyperion supervisor will during the course of running experiment plans raise a variety of exceptions, depending on their nature the supervisor will need to behave differently:

  • Sample-related errors will require data collection to continue and the sample to be skipped.
  • Beamline-related errors and other exceptions of an unexpected nature will require an alert to be raised to beamline staff and the supervisor process halts data collection.

Currently BlueskyStreamingError appears to be raised in the event of an exception but it's not clear whether this is just a general error relating to remoting, and it doesn't seem to carry any other information other than the exception message.

Acceptance Criteria

I think it would be sufficient if the solution provides the following:

  • Unambiguously indicates that the failure is due to an exception raised in the plan on the remote side.
  • Contains the exception message.
  • Identifies the type of the exception.
  • Bonus points if there is a nice way we can express this somehow so that it appears in the api schema for the plan and that declared exception type hierarchy can be expressed, but this is a nice-to-have, and arguably not needed for Hyperion.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions