-
Notifications
You must be signed in to change notification settings - Fork 30
Handle stopped workflows (#493 follow-up) #494
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Will start working on this one once the UIS PR is merged 👍 |
@kinow is this about the treeview, not gscan? |
Yup, about the tree view. If you have Cylc 8 system running and then do something like
At this point, the two tabs should be displaying the same, but at the moment they are not matching, due to how we are reacting to the last delta, and how we re-build the tree after deltas start arriving again (i.e. |
OK, what about the case where you close all tabs on the stopped flow, then go back to it later? Then, the UI will forget the data (either immediately, or after 20s or whatever to allow for a possible quick return - but I don't think that's implemented yet), and go back to the UIS when the new tab is opened - is that right? I mean we don't want to remember stopped flow state indefinitely, if there are no tabs open. |
In this case, the data is destroyed when the tabs are closed. Going back to it will start a new deltas subscription.
Yeah, not implemented yet. You are correct it starts a new WebSocket + 1 long request to handle the initial data burst and build the tree.
+1 the only case I think is incorrect, is when you have the workflow running, then stop it. At this point your workflow view is inconsistent if you open one more tab. |
Thanks, all good then 👍 |
See #556 too |
Note to self, I think this diff (against GScan branch) would fix the issue described in the paragraph above: diff --git a/src/components/cylc/tree/deltas.js b/src/components/cylc/tree/deltas.js
index e51a0d64..66cd4be9 100644
--- a/src/components/cylc/tree/deltas.js
+++ b/src/components/cylc/tree/deltas.js
@@ -215,7 +215,7 @@ export default function (data, workflow, lookup, options) {
const deltas = data.deltas
// first we check whether it is a shutdown response
if (deltas.shutdown) {
- CylcTree.clear(workflow)
+ // CylcTree.clear(workflow)
return {
errors: []
} Simply removing that call should be enough, to keep the data in the UI. That, combined with #556, would give a much better experience for users of the tree view/component. Will look at these two issues after the GScan deltas branch is reviewed/merged. |
This was fixed by #700 🎉 (stopped |
Describe the bug
Follow-up for #493. Now we have stopped workflows in the UI. But these workflows are not only stopped, they are stopped with their latest data.
So when a user navigates to a stopped workflow, we must display the last data. While also allowing for the subscription to restart (in case the user does a
cylc run ...
while looking at the UI).Previously, we were clearing the tree with the data in the UI once the workflow stopped. That led to inconsistent states if the user refreshed the browser.
In this PR, we should address how the workflows are displayed
p.s.: also need to include the changelog for #493 that I missed while merging.(I've pushed a commit to include the missed changelog 👍 )Release version(s) and/or repository branch(es) affected?
master
Steps to reproduce the bug
Experiment with stopped workflows. Start, stop it, restart it. Open a new tab, and compare with the lumino widget tree, or tree view.
Expected behavior
Screenshots
See #493
Additional context
See #493 for more about the issue.
Depends on cylc/cylc-uiserver#156
Related to cylc/cylc-flow#3813 (but I don't believe that's a requirement for this one 👍 )
Pull requests welcome!
This is an Open Source project - please consider contributing a bug fix
yourself (please read
CONTRIBUTING.md
before starting any work though).The text was updated successfully, but these errors were encountered: