-
Notifications
You must be signed in to change notification settings - Fork 3
SED-4488 Poor performance of the steps table when filtering by statuses #583
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
base: 29
Are you sure you want to change the base?
SED-4488 Poor performance of the steps table when filtering by statuses #583
Conversation
Summary of ChangesHello @david-stephan, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request addresses a performance issue (SED-4488) related to filtering the steps table by statuses. It updates a core dependency version and refines the test case filtering logic within the report nodes, specifically ensuring that filtering by test cases is only applied when valid test case data is present and handling the list type appropriately for the filter operation. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
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.
Code Review
This pull request addresses a performance issue in the steps table filtering. The main change involves adding a check to ensure the list of test cases is not empty before creating a filter, which is a good improvement. I've also suggested a small refactoring to improve code clarity and avoid redundant method calls.
| if(parameters.getTestcases() != null && !parameters.getTestcases().isEmpty()) { | ||
| List<Object> testcases = new ArrayList<>(parameters.getTestcases()); | ||
| fragments.add(Filters.in("customAttributes.TestCase", testcases)); | ||
| } |
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.
To improve readability and avoid calling parameters.getTestcases() multiple times, it's better to store its result in a local variable. In the current implementation, getTestcases() is called three times within this block, which can be inefficient and makes the code harder to read.
List<String> testcasesList = parameters.getTestcases();
if(testcasesList != null && !testcasesList.isEmpty()) {
List<Object> testcases = new ArrayList<>(testcasesList);
fragments.add(Filters.in("customAttributes.TestCase", testcases));
}
No description provided.