Escalate ProcessInfoNode construction failures

Open
#606 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
68/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
cpp

Research direction

Locate the Graph and ProcessInfoNode constructors and the existing error path for alive supervision construction failures. Trace how startup builds these components; done means a ProcessInfoNode construction failure is propagated so startup fails instead of logging the error and continuing.

Written by the indexing model from the issue text.

Description

What

After #522, if alive supervision construction fails in the process info node, we log an error and move on. This failure should instead be escalated and startup should fail.

Acceptance Criteria (DoD)

A failure in ProcessInfoNode's construction should cause a failed startup

How

Graph and ProcessInfoNode's constructors could be changed to Create() methods that can return a value to indicate failure
The above solution would not be suitable as it makes in-place construction of ProcessInfoNode difficult, necessitating a move, which would slow down construction of large graphs.

Alternatively, ProcessInfoNode's existing constructor could be changed so that it cannot fail. This would mean that the caller would have to construct the process's alive supervision, passing it to ProcessInfoNode only if it succeeds. On a failure, the Graph constructor would fail. Since only one Graph object is constructed, a single move operation should not have a significant performance impact, so a Create method may be suitable here.

Dominant language
C++
Stars
6
Forks
34
Avg merge
1d 23h
Merged PRs (30d)
83

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from eclipse-score/lifecycle

All issues in eclipse-score/lifecycle

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.