rock-core / tools-syskit

Rock's model-based component management layer
1 stars 14 forks source link

fix: handle task.depends_on(composition) when scheduling reconfigurations #357

Closed doudou closed 1 year ago

doudou commented 1 year ago

While the normal data structure does not generate this type of patterns, they must be supported - it is generally speaking useful, and is already used by e.g. the transformer to represent dynamic transformation producers.

The pattern obviously already triggered a bug since there was a specific bug fix for a task context->task context dependency. The fix was however too limited as it would not handle task context->composition.

This change implements a pass after deployment where we would find the root components from the "old plan" that are not used in the "new plan", and cut the dependency relations between these two. This should really handle all cases.