Skip to content

Simplify Alive supervision implementation in LaunchManager #131

@NicolasFussberger

Description

@NicolasFussberger

The original LaunchManager Alive supervision has features not required anymore in Score that can be removed.

Background

A process might be supervised with differently configured Alive supervision depending on in which ProcessGroupState the process is currently running.
-> Now a component is only running in one configuration. There is no support foreseen for differently configured supervision parameters based on component as part of different RunTargets

In the original design, the supervision kept running in case of a process crash. This leads eventually to Alive supervision failing.
-> However, now this failure scenario is already handled by LaunchManager directly. We can simplify the implementation and just stop the supervision in case the process crashes. No need to report this as supervision failure

In the original design, supervisions could go across different processes. For this reason, the ProcessStateTracker was tracking whether all involved processes are in the correct state.
-> This is no longer required. There is only a 1:1 mapping btw. Process and Alive Supervision from the Launch Manager point of view. The ProcessStateTracker can be removed.

In the original design, the ProcessExecutionError was an error code that was part of the failure information to identify the process that failed.
-> This design is no longer fitting in Score. We can remove the ProcessExecutionError. We will later identify the component by name/id that failed.

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