-
Notifications
You must be signed in to change notification settings - Fork 138
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
Fix performance issues in Model Serving Global #2334
Fix performance issues in Model Serving Global #2334
Conversation
@vconzola let me know if this is what you had in mind to cancel the "All projects" request |
a411af5
to
2522c0f
Compare
@lucferbux The video goes by really quickly. Is the gist that you're showing a spinner until the first pieces of data come back then you're loading the table with skeletons in cells where the data is still being fetched? |
Yes, the flow will be:
|
@vconzola here's that loading state with the cancel button (used throttling in the network dev tools to make it load slowly) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM and works as described. I did notice with throttled dev tools that when you press the cancel button to navigate away it doesn't actually cancel the pending network requests (as far as I can tell) and they continue in the background. Maybe that's fine? I imagine it would be a pain to figure out how to actually send a cancel signal to them (I haven't looked at the fetch implementation).
That's probably out of scope here, so this looks good ✅
@mturley Thanks, but not sure what that screenshot is showing me. I guess I don't understand the gist of the issue or what was done to fix it. Is the problem that the user was stuck on the loading page with no way to cancel out if fetching the data from all projects takes too long? Or is the problem that we're waiting for all data from all projects to be returned before exiting the loading page? If it's the latter we should close the loading page without canceling the fetch requests as soon as the first data is returned from a project and just show skeletons in the table cells while we're waiting for the rest of the data. Is something like that possible? |
@vconzola I'm not sure exactly, that's a question for @lucferbux . I just figured I'd share a screenshot of a state that's hard to see in that video. From what I can tell here there's nothing that affects the loading skeleton state within the displayed table itself, this change just makes the fetches themselves more efficient and adds the cancel button to the existing spinner in case it still takes too long. |
@vconzola I'm sorry to confuse you, don't worry about the implementation, the UI will do the following:
If that's ok we can lgtm this pr |
Yes, you are right, I took a look at that the other day, but that's something we might wanna fix in a follow up issue, it's not related to this enhancement (more or less) and it's more of an structural issue, we are not implementing well the |
I've created https://issues.redhat.com/browse/RHOAIENG-2002 as a follow up, we need to fix this asap. |
Not sure what you mean by 'next project". My expectation would be (1) if the "all projects" page is loading from another page link (if that's even possible) or from the main nav link, then Cancel will navigate to the first project in the dropdown list; (2) if the "all projects" page is loading from being selected in the dropdown, then Cancel will navigate to the previous project view that was displayed. But if that's not the way it works, and you need to merge today, we can get it in a follow-up PR. So consider this my LGTM for this PR. |
@lucferbux we may want to use history back -- it's a common practice in OpenShift Console to do a history back when canceling out of a form -- but it has drawbacks -- like if someone navigates from a bookmark or copy paste of a URL -- it can be awkward to kick them outside of our app or to the empty state (or just flat out doesn't work). But I think we can improve on this with another PR. |
Ok, great, let me log another issue for that, I think that's the preferred behaviour, but we can improve it in the next version. |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: lucferbux, mturley The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Description
Closes https://issues.redhat.com/browse/RHOAIENG-549
How Has This Been Tested?
As a cluster admin user
"All projects"
InferenceServices
andServingruntimes
are being listed as cluster wide fetchesAs a regular admin user
"All projects"
InferenceServices
andServingRuntimes
in those projectsGeneral
"All projects"
Test Impact
Added e2e tests
Request review criteria:
Self checklist (all need to be checked):
If you have UI changes:
After the PR is posted & before it merges:
main