Project

General

Profile

Actions

action #111833

closed

Allow tests/overview page to handle more than 500 jobs with result filter conditions size: M

Added by kraih over 2 years ago. Updated over 2 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Category:
Feature requests
Target version:
Start date:
2022-05-31
Due date:
2022-06-16
% Done:

0%

Estimated time:

Description

Motivation

Since the patch from #110680 has been applied there are some use cases where the tests/overview page no longer works as expected by our users. This link for example should not be showing the limit warning. But it does because the SQL queries retrieving the jobs (and which apply the limit) do not consider certain filter conditions such as result yet. Those are handled by the unoptimised pure Perl aggregate code in a later step.

Acceptance criteria

  • AC1: This link does not trigger the result limit warning anymore
  • AC2: This link still does trigger the result limit warning

Suggestions

  • Do not revert the patch from #110680, since that would create a DoS vulnerability
  • Try to move the aggregate code into earlier SQL queries
  • Bonus points for moving more filter conditions from Perl to SQL
Actions #1

Updated by kraih over 2 years ago

Curious that module result is already handled efficiently in SQL, but job result is not.

Actions #2

Updated by kraih over 2 years ago

  • Subject changed from Allow tests/overview page to handle more than 500 jobs with result filter conditions to Allow tests/overview page to handle more than 500 jobs with result filter conditions size: M
Actions #3

Updated by kraih over 2 years ago

  • Status changed from New to Workable
Actions #4

Updated by kraih over 2 years ago

  • Assignee set to kraih
Actions #5

Updated by kraih over 2 years ago

  • Status changed from Workable to In Progress
Actions #6

Updated by kraih over 2 years ago

Simply moving the condition from Perl to SQL does not appear to work, i'll have to dive a bit deeper into the code.

Actions #7

Updated by openqa_review over 2 years ago

  • Due date set to 2022-06-16

Setting due date based on mean cycle time of SUSE QE Tools

Actions #8

Updated by kraih over 2 years ago

After running a bunch of experiments i located the problem, simply moving the condition to SQL does not work because of the duplicate removal code here. It depends on the presence of old jobs with different states. The multiple layers of SQL generation and Perl filtering make this a very complex issue. I will have to try to move the duplicate removal to SQL too, or find a different solution for the job limit.

Actions #10

Updated by kraih over 2 years ago

  • Status changed from In Progress to Feedback
Actions #11

Updated by kraih over 2 years ago

  • Status changed from Feedback to Resolved

Everything looks good.

Actions

Also available in: Atom PDF