osstest was taking far too long calculating what test failures were
regressions, and generating the email and web reports. The slow part
was analysing the test history, mostly because it ended up doing a lot
of dumb scans of large tables.
In this series I fix this problem for sg-report-flight: I add some
indexes, and reorganise some of the queries so that they can make good
use of them.
I suspect there may still be problems with sg-report-host-history and
cs-bisection-step. I haven't investigated those yet.
George: you volunteered to review my SQL. I hope the information in
the commit messages is useful for that. Thanks!
Ian Jackson (14):
sg-report-flight: Add a comment re same-flight search narrowing
sg-report-flight: Sort failures by job name as last resort
schema: Provide indices for sg-report-flight
sg-report-flight: Ask the db for flights of interest
sg-report-flight: Use WITH to use best index use for $flightsq
sg-report-flight: Use WITH clause to use index for $anypassq
sg-report-flight: Use the job row from the intitial query
Executive: Use index for report__find_test
duration_estimator: Ignore truncated jobs unless we know the step
duration_estimator: Introduce some _qtxt variables
duration_estimator: Explicitly provide null in general host q
duration_estimator: Return job column in first query
duration_estimator: Move $uptincl_testid to separate @x_params
duration_estimator: Move duration query loop into database
Osstest/Executive.pm | 70 ++++++++++------
schema/runvars-built-index.sql | 7 ++
schema/runvars-revision-index.sql | 7 ++
schema/steps-job-index.sql | 7 ++
sg-report-flight | 127 +++++++++++++++++++++++++-----
5 files changed, 174 insertions(+), 44 deletions(-)
create mode 100644 schema/runvars-built-index.sql
create mode 100644 schema/runvars-revision-index.sql
create mode 100644 schema/steps-job-index.sql
--
2.20.1