Skip to content

Conversation

@KonradBreitsprecherBkd
Copy link
Contributor

Currently the sil-kit-system-controller immediately propagates the required participants (via SetWorkflowConfiguration) on startup. This defines a system state which is calculated locally on each participant. If one of the requires participant drops out, the system state is Error. Now, a restart of all required participant and the system controller is needed. This behavior can be improved as the restart is actually not necessary.

With this PR, the connected/disconnected participants are tracked and only when all required participants have connected, SetWorkflowConfiguration is called. This allows single participants to drop out and rejoin without having to restart other participants or the system controller.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR improves the behavior of the sil-kit-system-controller to allow individual participants to disconnect and reconnect before all required participants are connected, without requiring a restart of other participants or the system controller itself.

Key Changes:

  • Changed participant tracking from a static list to a dynamic set-based approach that monitors connections/disconnections
  • Deferred workflow configuration until all required participants are connected
  • Added duplicate participant name validation at startup

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
docs/changelog/versions/latest.md Documents the improved participant drop-out/rejoin behavior
Utilities/SilKitSystemController/SystemController.cpp Implements dynamic participant tracking, deferred workflow configuration, and duplicate name validation

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <[email protected]>
Signed-off-by: KonradBreitsprecherBkd <[email protected]>
Copy link
Member

@VDanielEdwards VDanielEdwards left a comment

Choose a reason for hiding this comment

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

LGTM! 👍 It does make it much nicer to redo half of the setup, when you manually run a bunch of participants.

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.

3 participants