Skip to content

Remove the supervision-failure specific recovery state in Launch Manager#153

Merged
pawelrutkaq merged 11 commits intoeclipse-score:mainfrom
etas-contrib:feature/simply-recoveryclient-verified
Apr 15, 2026
Merged

Remove the supervision-failure specific recovery state in Launch Manager#153
pawelrutkaq merged 11 commits intoeclipse-score:mainfrom
etas-contrib:feature/simply-recoveryclient-verified

Conversation

@NicolasFussberger
Copy link
Copy Markdown
Contributor

@NicolasFussberger NicolasFussberger commented Apr 9, 2026

Motivation

Historical Context: HealthMonitor and LaunchManager used to be two separate daemon processes that were merged into a single daemon.
Due to this reason, there were two separately configured recovery states. One is triggered on supervision failure, the other in case of process crashes/startup failure.
There is no need to have differently configured recovery states, as those failures are treated the same. The new configuration schema also does not expose this configuration anymore though the distinction still exists in the code. The configuration mapping will always set both recovery state to be identical, as those failure should be treated the same way.

Changes

  • Removes the separate HealthMonitor-specific recovery state.
  • The RecoveryClient interface is simplified such that HealthMonitor only communicates which process group experienced the supervision failure (not requesting a specific recovery state).

Benefit

With this change, there is only a single recovery state and LaunchManager transitions to this recovery state the same way for supervision failure, process crash, etc.
Obsolete configuration settings are removed from the internal configuration model.
The user-facing configuration stays unaffected, making this change backwards-compatible.

Closes: #132

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 9, 2026

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: 2f092caf-b131-45c5-9821-6af63a5a047d
Computing main repo mapping: 
Computing main repo mapping: 
WARNING: For repository 'rules_python', the root module requires module version rules_python@1.8.3, but got rules_python@1.8.5 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'rules_cc', the root module requires module version rules_cc@0.2.16, but got rules_cc@0.2.17 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'score_tooling', the root module requires module version score_tooling@1.1.0, but got score_tooling@1.1.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'score_rust_policies', the root module requires module version score_rust_policies@0.0.3, but got score_rust_policies@0.0.5 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
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: 
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 (45 packages loaded, 10 targets configured)

Analyzing: target //:license-check (89 packages loaded, 12 targets configured)

Analyzing: target //:license-check (147 packages loaded, 2658 targets configured)

Analyzing: target //:license-check (152 packages loaded, 5920 targets configured)

Analyzing: target //:license-check (163 packages loaded, 7899 targets configured)

Analyzing: target //:license-check (163 packages loaded, 7899 targets configured)

Analyzing: target //:license-check (167 packages loaded, 9911 targets configured)

INFO: Analyzed target //:license-check (168 packages loaded, 10037 targets configured).
[12 / 16] JavaToolchainCompileClasses external/rules_java+/toolchains/platformclasspath_classes; 0s disk-cache, processwrapper-sandbox ... (2 actions running)
[14 / 16] JavaToolchainCompileBootClasspath external/rules_java+/toolchains/platformclasspath.jar; 0s disk-cache, processwrapper-sandbox
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: 23.304s, Critical Path: 2.44s
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
Copy link
Copy Markdown

github-actions bot commented Apr 9, 2026

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

@NicolasFussberger NicolasFussberger marked this pull request as ready for review April 9, 2026 07:47
Comment thread src/launch_manager_daemon/src/process_group_manager/processgroupmanager.cpp Outdated
Copy link
Copy Markdown
Contributor

@TimoSteuerwaldETAS TimoSteuerwaldETAS left a comment

Choose a reason for hiding this comment

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

Looks good! 👍

@pawelrutkaq pawelrutkaq merged commit f1cfcc1 into eclipse-score:main Apr 15, 2026
19 of 21 checks passed
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 IRecoveryClient & Remove Health-related recovery state

4 participants