Repository navigation
Conversation
Component classComponent class
|
One note regarding the supervision. In the current implementation this is only done via deactivate() call. This time period btw. process crash and actually deactivating the supervision creates some room for false positive supervision failures. So I am wondering, if the supervision should rather be deactivated directly when getting the process terminated notification in the component to avoid this issue. |
ed9c66a to
a56e02f
Compare
|
Documentation preview for this pull request is available at: |
8fe6f4c to
2c819e2
Compare
This does not make sense because the supervision is created once in the constructor, not when the state changes.
| config.component_properties.application_profile.alive_supervision.value()); | ||
| if (!handle) | ||
| { | ||
| LM_LOG_ERROR() << "Failed to set up alive supervision for" << config.name; |
There was a problem hiding this comment.
If this fails, the component must not be started later. Otherwise it would run without supervision
|
|
||
| if (!deactivateSupervision()) | ||
| { | ||
| state_ = FaultState{}; |
There was a problem hiding this comment.
What would be the reaction following the fault state?
I wonder if we should still continue shutting down the process here?
| /// @param supervision_factory Factory used to construct alive supervision. | ||
| /// @param config Configuration of the component. | ||
| Component( | ||
| const IStartAction& start_action, |
There was a problem hiding this comment.
What owns these objects if they are passed only as const ref?
Add supervision setup to the new
Componentclass.This is a continuation of #705.