Closed MetRonnie closed 6 months ago
Reproduced using; using
query {
workflows (ids: ["edges/run1"]) {
name
stateTotals
taskProxies{
id
}
edges {
edges {
id
}
}
}
}
{
"data": {
"workflows": [
{
"name": "edges/run1",
"stateTotals": {
"waiting": 8,
"expired": 0,
"preparing": 0,
"submit-failed": 0,
"submitted": 0,
"running": 0,
"failed": 0,
"succeeded": 0
},
"taskProxies": [
{
"id": "~sutherlander/edges/run1//1/bar"
},
{
"id": "~sutherlander/edges/run1//1/forecast"
},
{
"id": "~sutherlander/edges/run1//2/bar"
},
{
"id": "~sutherlander/edges/run1//2/forecast"
},
{
"id": "~sutherlander/edges/run1//1/foo"
},
{
"id": "~sutherlander/edges/run1//1/x2"
},
{
"id": "~sutherlander/edges/run1//1/x1"
},
{
"id": "~sutherlander/edges/run1//1/x3"
}
],
"edges": {
"edges": [
{
"id": "~sutherlander/edges/run1//$edge|1/bar|1/forecast"
},
{
"id": "~sutherlander/edges/run1//$edge|2/bar|2/forecast"
},
{
"id": "~sutherlander/edges/run1//$edge|1/foo|1/x2"
},
{
"id": "~sutherlander/edges/run1//$edge|1/foo|1/x1"
},
{
"id": "~sutherlander/edges/run1//$edge|1/foo|1/x3"
}
]
}
}
]
}
}
but after running for a while:
{
"data": {
"workflows": [
{
"name": "edges/run1",
"stateTotals": {
"waiting": 4,
"expired": 0,
"preparing": 0,
"submit-failed": 0,
"submitted": 0,
"running": 0,
"failed": 0,
"succeeded": 2
},
"taskProxies": [
{
"id": "~sutherlander/edges/run1//19/bar"
},
{
"id": "~sutherlander/edges/run1//19/forecast"
},
{
"id": "~sutherlander/edges/run1//19/x3"
},
{
"id": "~sutherlander/edges/run1//20/bar"
},
{
"id": "~sutherlander/edges/run1//20/forecast"
},
{
"id": "~sutherlander/edges/run1//20/foo"
}
],
"edges": {
"edges": [
{
"id": "~sutherlander/edges/run1//$edge|1/x1|1/x2"
},
{
"id": "~sutherlander/edges/run1//$edge|2/x1|2/x2"
},
{
"id": "~sutherlander/edges/run1//$edge|3/x1|3/x2"
},
{
"id": "~sutherlander/edges/run1//$edge|4/x1|4/x2"
},
{
"id": "~sutherlander/edges/run1//$edge|5/x1|5/x2"
},
{
"id": "~sutherlander/edges/run1//$edge|6/x1|6/x2"
},
{
"id": "~sutherlander/edges/run1//$edge|7/x1|7/x2"
},
{
"id": "~sutherlander/edges/run1//$edge|8/x1|8/x2"
},
{
"id": "~sutherlander/edges/run1//$edge|9/x1|9/x2"
},
{
"id": "~sutherlander/edges/run1//$edge|10/x1|10/x2"
},
{
"id": "~sutherlander/edges/run1//$edge|11/x1|11/x2"
},
{
"id": "~sutherlander/edges/run1//$edge|12/x1|12/x2"
},
{
"id": "~sutherlander/edges/run1//$edge|13/x1|13/x2"
},
{
"id": "~sutherlander/edges/run1//$edge|14/x1|14/x2"
},
{
"id": "~sutherlander/edges/run1//$edge|15/x1|15/x2"
},
{
"id": "~sutherlander/edges/run1//$edge|16/x1|16/x2"
},
{
"id": "~sutherlander/edges/run1//$edge|17/x1|17/x2"
},
{
"id": "~sutherlander/edges/run1//$edge|19/bar|19/forecast"
},
{
"id": "~sutherlander/edges/run1//$edge|18/x1|18/x2"
},
{
"id": "~sutherlander/edges/run1//$edge|20/bar|20/forecast"
},
{
"id": "~sutherlander/edges/run1//$edge|19/forecast|20/foo"
},
{
"id": "~sutherlander/edges/run1//$edge|19/x3|19/forecast"
},
{
"id": "~sutherlander/edges/run1//$edge|19/x2|19/x3"
},
{
"id": "~sutherlander/edges/run1//$edge|19/x1|19/x2"
}
]
}
}
]
}
}
I'll look at the pruning mechanism..
For some reason it's always x1 -> x2
that doesn't get pruned .. never x2 -> x3
Fix up https://github.com/cylc/cylc-flow/pull/6096
Some deltas we discard (if the nodes they apply to are about to be pruned), we needed to delete any associated edges too..
Originally reported in #1470 but not fixed it seems.
This is accompanied by the console error message (in Chrome):
Reproducible example
It seems the suicide trigger edges in the workflow subscription are not pruned, leading to a mismatch between the nodes and edges that the Graph view is trying to plot. In fact the suicide trigger edges do not seem to be pruned at all and keep accumulating?