dlr-gtlab / intelligraph-module

A Node-based Workflow Engine for GTlab
1 stars 0 forks source link

Merging graphs with mutliple levels causes the global connection model to not update correctly #116

Closed rainman110 closed 1 month ago

rainman110 commented 2 months ago

In GitLab by @mariusalexander on Sep 12, 2024, 17:44

When merging graph with multiple levels the global connection model (shared pointer) may not be updated correctly, as the model is not updated recursively in each subgraph.

Imagine we have the following graph hierarchy:

flowchart LR
    id_1(Graph_A\nModel: 0xBEEF)

    id_2(Graph_B\nModel: 0xFOOD) --> id_3(Graph_C\nModel: 0xFOOD)

Merging graph B into A would cause the graph B to update its connection model to the one of A, whereas C is not updated leading to inconsistencies:

flowchart LR
    id_A1(Graph_A\nModel: 0xBEEF) --> id_A2(Graph_B\nModel: 0xBEEF) --> id_A3(Graph_C\nModel: 0xFOOD)

Instead it should look like this: (the same global connection model is shared by all (sub)graphs)

flowchart LR
    id_A1(Graph_A\nModel: 0xBEEF) --> id_A2(Graph_B\nModel: 0xBEEF) --> id_A3(Graph_C\nModel: 0xBEEF)
rainman110 commented 2 months ago

In GitLab by @mariusalexander on Sep 12, 2024, 17:44

created branch 116-mergin-graphs-with-mutliple-levels-causes-the-global-connection-model-to-not-update-correctly to address this issue

rainman110 commented 2 months ago

In GitLab by @mariusalexander on Sep 12, 2024, 17:50

mentioned in commit 2a53e447d88c45b601c39d64faf76672f028ac44