-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
[backend] severe perf problem in archive experiment API #6845
Comments
/cc @capri-xiyue |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
We just today got hit by this issue (Kubeflow 1.3 deployment). Would really appreciate if this could get addressed in a future version. Right now, we have to tell our users to not archive experiments. Edit: Sorry, just saw that your original issue description already included my comment below An unfortunate side effect of the performance issue is, that since this results in an |
Reprace the existing mysql request that use nested select, with inner join for better performance. The fix levarage 'SQLDialect' interface, because the new request is not supported by sqllite (used for testing) This interface bridges the difference between mysql (production) and sqlite // (test) Issue: kubeflow#6845 Signed-off-by: diana <difince@gmail.com>
Reprace the existing mysql request that use nested select, with inner join for better performance. The fix levarage 'SQLDialect' interface, because the new request is not supported by sqllite (used for testing) This interface bridges the difference between mysql (production) and sqlite // (test) Issue: kubeflow#6845 Signed-off-by: diana <difince@gmail.com>
* fix(backend): Fix performance issue within a mysql request Reprace the existing mysql request that use nested select, with inner join for better performance. The fix levarage 'SQLDialect' interface, because the new request is not supported by sqllite (used for testing) This interface bridges the difference between mysql (production) and sqlite // (test) Issue: #6845 Signed-off-by: diana <difince@gmail.com> * For sqlite use UPDATE FROM to join the target table against another table in the database in order to help compute Try to generalize the method in SQLDialect interface Signed-off-by: diana <difince@gmail.com> * Add unit tests Signed-off-by: diana <difince@gmail.com> * Replace nested query for Jobs and start using pre-comit Signed-off-by: diana <difince@gmail.com> * Fix: Use LEFT JOIN instead of INNER JOIN Signed-off-by: diana <difince@gmail.com> --------- Signed-off-by: diana <difince@gmail.com>
Fixed by @difince. /close |
@gkcalat: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
* fix(backend): Fix performance issue within a mysql request Reprace the existing mysql request that use nested select, with inner join for better performance. The fix levarage 'SQLDialect' interface, because the new request is not supported by sqllite (used for testing) This interface bridges the difference between mysql (production) and sqlite // (test) Issue: #6845 Signed-off-by: diana <difince@gmail.com> * For sqlite use UPDATE FROM to join the target table against another table in the database in order to help compute Try to generalize the method in SQLDialect interface Signed-off-by: diana <difince@gmail.com> * Add unit tests Signed-off-by: diana <difince@gmail.com> * Replace nested query for Jobs and start using pre-comit Signed-off-by: diana <difince@gmail.com> * Fix: Use LEFT JOIN instead of INNER JOIN Signed-off-by: diana <difince@gmail.com> --------- Signed-off-by: diana <difince@gmail.com>
Environment
Steps to reproduce
The issue caused severe flakiness in test infra: #6815, and was mitigated by skipping the archive experiment step in test script: #6843 (We should revert the #6843 after fixing the perf problem)
Expected result
There's no perf problem with experiment archive API.
Materials and Reference
This is caused by a known TODO item to improve SQL perf:
pipelines/backend/src/apiserver/storage/experiment_store.go
Line 266 in 74c7773
I experimented with a SQL query improvement in #6815 (comment), we still need to investigate how to turn that into our golang backend.
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.
The text was updated successfully, but these errors were encountered: