Sender | Message | Time |
---|---|---|
16 Feb 2024 | ||
oliver sanders | FYI: Jupyter are moving away from the Tornado event loop - https://github.com/jupyter/jupyter_client/pull/997 | 16:24:14 |
oliver sanders | * FYI: Jupyter are moving away from the Tornado event loop - https://github.com/jupyter/jupyter_client/pull/997 This could result in Jupyter Server v3. | 16:24:28 |
oliver sanders | * FYI: Jupyter are moving away from the Tornado event loop - https://github.com/jupyter/jupyter_client/pull/997 This could result in Jupyter Server v3. Hopefully it'll be fine, but just a heads up, we may have to re-work some of our async code and, potentially, a fair portion of our tests. | 16:25:20 |
10 Mar 2024 | ||
Hilary Oliver | Has anyone tried running a UI Server for a long time yet? We might have a memory leak - I just had a local report that a UIS left running for 40 days was chewing up 40 GB of memory. | 22:36:51 |
11 Mar 2024 | ||
Hilary Oliver |
| 03:54:36 |
Hilary Oliver | Going back to this from Ronnie Dutta -
Turns out the above user was running 8.1.1 I've asked him to upgrade. | 03:55:47 |
oliver sanders | We have not seen a Cylc UI Server use that much memory, it's hard to think what that memory could be filled with. At our site UI Servers are currently running on boxes with only 8GB memory so I would expect issues like this to be spotted early. | 09:58:55 |
Ronnie Dutta | (I was referring to the UI rather than UIS in that quote) | 10:23:33 |
oliver sanders | Out of interest, do we know if this UIS had active cylc-ui session(s) connected? | 10:24:36 |
12 Mar 2024 | ||
Hilary Oliver | Oh right, duh. | 21:13:56 |
Hilary Oliver | I'll ask ... | 21:14:11 |
21 Mar 2024 | ||
Ronnie Dutta | Firefox Cypress tests have become very flaky on GH Actions 😢 https://github.com/cypress-io/cypress/issues/29085 | 09:52:49 |
Hilary Oliver | In reply to @oliver-sanders2:matrix.org User reponse:
| 23:13:32 |
26 Mar 2024 | ||
oliver sanders | So it turns out the UIS is still subscribing to all data from all active workflows. I think this was a temporary solution that became permanent but no issue for prioritisation so it slipped the net. As such high memory usage for large numbers of running workflows is expected. I've raised an issue for this: https://github.com/cylc/cylc-uiserver/issues/568 It's relatively straight forward to adjust what the UIS subscribes to, protobuf "topics" correspond to GraphQL "fields", but working out what topics we need for which workflows to satisfy the active subscriptions is a trickier problem that doesn't neatly fit any existing interface. | 13:25:36 |
oliver sanders | * So it turns out the UIS is still subscribing to all data from all active workflows. I think this was a temporary solution that became permanent but no issue for prioritisation so it slipped the net. As such high memory usage for large numbers of running workflows is expected and unavoidable. I've raised an issue for this: https://github.com/cylc/cylc-uiserver/issues/568 It's relatively straight forward to adjust what the UIS subscribes to, protobuf "topics" correspond to GraphQL "fields", but working out what topics we need for which workflows to satisfy the active subscriptions is a trickier problem that doesn't neatly fit any existing interface. | 13:25:59 |
oliver sanders | * So it turns out the UIS is still subscribing to all data from all active workflows. I think this was a temporary solution that became permanent but no issue for prioritisation so it slipped the net. As such high memory usage for large numbers of running workflows is expected and unavoidable. I've raised an issue for this: https://github.com/cylc/cylc-uiserver/issues/568 It's relatively straight forward to adjust what the UIS subscribes to, protobuf "topics" correspond to GraphQL "fields", but working out what topics we need for which workflows to satisfy the active subscriptions is a trickier problem that doesn't neatly fit any existing interface. Given that we have reports of high memory usage and that this is kinda fundamental to UIS scalability, suggest bumping this up the priority ladder :( | 13:27:21 |
oliver sanders | * So it turns out the UIS is still subscribing to all data from all active workflows. I think this was a temporary solution that became permanent but no issue for prioritisation so it slipped the net. As such high memory usage for large numbers of running workflows is expected and unavoidable. I've raised an issue for this: https://github.com/cylc/cylc-uiserver/issues/568 It's relatively straight forward to adjust what the UIS subscribes to, protobuf "topics" correspond to GraphQL "fields", but working out what topics we need for which workflows to satisfy the active subscriptions is a trickier problem that doesn't neatly fit any existing interface. Given that we have reports of high memory usage and that this is kinda fundamental to UIS scalability, suggest bumping this up the priority ladder :( David Sutherland would be good to get your ideas on this. | 13:36:19 |
oliver sanders | How many workflows can the Cylc UI handle? Turns out the answer is 8! High profile UIS bug that's been with us since the start. I do not understand how this hasn't been spotted: https://github.com/cylc/cylc-uiserver/issues/569 | 13:47:22 |
oliver sanders | * How many workflows can the Cylc UI handle? Turns out the answer is 8! High profile UIS bug that's been with us since the start. I do not understand how this hasn't been spotted: https://github.com/cylc/cylc-uiserver/issues/569 The workaround is simple, the solution is less clear. | 13:47:57 |
oliver sanders | * So it turns out the UIS is still subscribing to all data from all active workflows. I think this was a temporary solution that became permanent but no issue for prioritisation so it slipped the net. As such high memory usage for large numbers of running workflows is expected and unavoidable (exactly what "large" means is up for grabs though, it also depends on the complexity of the workflows themselves). I've raised an issue for this: https://github.com/cylc/cylc-uiserver/issues/568 It's relatively straight forward to adjust what the UIS subscribes to, protobuf "topics" correspond to GraphQL "fields", but working out what topics we need for which workflows to satisfy the active subscriptions is a trickier problem that doesn't neatly fit any existing interface. Given that we have reports of high memory usage and that this is kinda fundamental to UIS scalability, suggest bumping this up the priority ladder :( David Sutherland would be good to get your ideas on this. | 16:05:05 |
oliver sanders | * On the subject of UIS resource usage... So it turns out the UIS is still subscribing to all data from all active workflows. I think this was a temporary solution that became permanent but no issue for prioritisation so it slipped the net. As such high memory usage for large numbers of running workflows is expected and unavoidable (exactly what "large" means is up for grabs though, it also depends on the complexity of the workflows themselves). I've raised an issue for this: https://github.com/cylc/cylc-uiserver/issues/568 It's relatively straight forward to adjust what the UIS subscribes to, protobuf "topics" correspond to GraphQL "fields", but working out what topics we need for which workflows to satisfy the active subscriptions is a trickier problem that doesn't neatly fit any existing interface. Given that we have reports of high memory usage and that this is kinda fundamental to UIS scalability, suggest bumping this up the priority ladder :( David Sutherland would be good to get your ideas on this. | 16:05:38 |
oliver sanders | * On the subject of UIS resource usage... So it turns out the UIS is still subscribing to all data from all active workflows. I think this was a temporary solution that became permanent but no issue for prioritisation so it slipped the net. As such high memory usage for large numbers of running workflows is expected and unavoidable (exactly what "large" means is up for grabs though, it also depends on the complexity of the workflows themselves). CPU usage may also be high as a result of the cost of reconciling large numbers of updates. I've raised an issue for this: https://github.com/cylc/cylc-uiserver/issues/568 It's relatively straight forward to adjust what the UIS subscribes to, protobuf "topics" correspond to GraphQL "fields", but working out what topics we need for which workflows to satisfy the active subscriptions is a trickier problem that doesn't neatly fit any existing interface. Given that we have reports of high memory usage and that this is kinda fundamental to UIS scalability, suggest bumping this up the priority ladder :( David Sutherland would be good to get your ideas on this. | 16:06:26 |
oliver sanders | * How many workflows can the Cylc UI handle? Turns out the answer is 8! High profile UIS bug that's been with us since the start. I do not understand how this hasn't been spotted: https://github.com/cylc/cylc-uiserver/issues/569 The workaround is simple (PR up), the solution is less clear. | 16:07:10 |
28 Mar 2024 | ||
David Sutherland | Well, yes, maybe the UIS can get a skeleton store from the schedulers (with just gscan info).. We know when we have subscribers, but would have to detect when a UI is requesting more than gscan and flag it in the manager .. I have an idea | 05:43:24 |
David Sutherland | * Well, yes, maybe the UIS can get a skeleton store from the schedulers (with just gscan info).. We know when we have subscribers, but would have to detect when a UI is requesting more than gscan and flag it in the manager .. I have an idea, will have to take a closer look | 05:44:04 |
5 Apr 2024 | ||
Ronnie Dutta | FYI there is a new VSCode extension for Vitest: https://marketplace.visualstudio.com/items?itemName=vitest.explorer I had to switch to the pre-release version otherwise all the tests that use string substitution in their name fail (e.g. | 14:55:43 |
Ronnie Dutta | * FYI there is a new VSCode extension for Vitest: https://marketplace.visualstudio.com/items?itemName=vitest.explorer I had to switch to the pre-release version otherwise all the tests that use string substitution in their name fail (e.g. | 14:55:56 |
22 Apr 2024 | ||
Ronnie Dutta | (The stable version now works properly, no need for pre-release anymore) | 10:21:24 |
oliver sanders | UIS efficiency We don't yet know the cause of the high memory usage BoM has reported, hopefully they will investigate this and share the results. However, I suspect that the cause is likely data accumulation at the UIS. At present, data only leaves the store when the workflow is removed (i.e. "unregistered" in UIS speak). This means that data for old, stopped workflows remains in the store. On top of this we are subscribing to all data from all active workflows whether it is needed or not exacerbating the issue. Although the store data is (remarkably) small thanks to the protobuf serialisation, it can still accumulate and (library bugs aside) I can't think what other data might be accumulating at the UIS. So I think these two issues should move up the priority ladder:
| 15:44:02 |
Hilary Oliver | Agreed | 20:36:16 |