Skip to content

Remove obsolete Process Group specific supervision functionality#231

Open
NicolasFussberger wants to merge 9 commits into
eclipse-score:mainfrom
etas-contrib:feature/remove-mode-dependent-supervision-verified
Open

Remove obsolete Process Group specific supervision functionality#231
NicolasFussberger wants to merge 9 commits into
eclipse-score:mainfrom
etas-contrib:feature/remove-mode-dependent-supervision-verified

Conversation

@NicolasFussberger

@NicolasFussberger NicolasFussberger commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Overview

This PR is part of a sequence of refactoring, in which functionality is being removed that was introduced as part of the initial contribution, but is now obsolete in SCore.

Background

  • In the original implementation, the Alive supervision could be enabled only for certain process group states that the process was running in.
  • Furthermore, for Logical and Deadline supervision support there was a complex process state tracking required because a supervision could have been configured across multiple processes.
  • There was also process crash handling in which the Alive supervision would expire on process crash, leading to supervision failure notification.

Changes

The implementation was simplified by removing the functionality that is now obsolete in the Score context:

  • In Score, Alive supervision is configured per component. It does not care as part of which RunTarget (i.e. ProcessGroupState) the component runs.
  • In Score, Logical and Deadline supervision have already been removed from launch_manager code (they are part of health_monitoring library), so the complex process state tracking in ProcessStateTracker class could be removed. For Alive supervision, this is always fixed to a single process.
  • In Score, alive supervision is implemented in the launch_manager daemon which also reacts to process crashes directly. No need for any special logic within supervision for crash detection. The launch_manager already handles process crashes.

Closes: #131

@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run --lockfile_mode=error //:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
Extracting Bazel installation...
Starting local Bazel server (8.4.2) and connecting to it...
INFO: Invocation ID: fcdd7798-5192-4390-9418-38c62b5614af
Computing main repo mapping: 
Computing main repo mapping: 
Loading: 
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)

Analyzing: target //:license-check (33 packages loaded, 10 targets configured)

Analyzing: target //:license-check (85 packages loaded, 10 targets configured)

Analyzing: target //:license-check (137 packages loaded, 2708 targets configured)

Analyzing: target //:license-check (146 packages loaded, 5834 targets configured)

Analyzing: target //:license-check (157 packages loaded, 8094 targets configured)

Analyzing: target //:license-check (157 packages loaded, 8094 targets configured)

INFO: Analyzed target //:license-check (162 packages loaded, 10232 targets configured).
[3 / 15] Writing file external/score_tooling+/dash/tool/formatters/_dash_format_converter.venv/lib/python3.12/site-packages/bazel.pth [for tool]; 0s local
[14 / 16] [Prepa] JavaToolchainCompileBootClasspath external/rules_java+/toolchains/platformclasspath.jar
[15 / 16] Building license.check.license_check.jar (); 0s disk-cache, multiplex-worker
INFO: Found 1 target...
Target //:license.check.license_check up-to-date:
  bazel-bin/license.check.license_check
  bazel-bin/license.check.license_check.jar
INFO: Elapsed time: 19.712s, Critical Path: 2.34s
INFO: 16 processes: 12 internal, 3 processwrapper-sandbox, 1 worker.
INFO: Build completed successfully, 16 total actions
INFO: Running command line: bazel-bin/license.check.license_check ./formatted.txt <args omitted>
usage: org.eclipse.dash.licenses.cli.Main [-batch <int>] [-cd <url>]
       [-confidence <int>] [-ef <url>] [-excludeSources <sources>] [-help] [-lic
       <url>] [-project <shortname>] [-repo <url>] [-review] [-summary <file>]
       [-timeout <seconds>] [-token <token>]

@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown

The created documentation from the pull request is available at: docu-html

@WilliamRoebuck WilliamRoebuck left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, just one nitpick

Comment thread scripts/config_mapping/lifecycle_config.py Outdated
@NicolasFussberger NicolasFussberger changed the title Remove Process Group specific supervision functionality Remove obsolete Process Group specific supervision functionality Jun 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Simplify Alive supervision implementation in LaunchManager

2 participants