[Git][qa/jenkins.debian.net][master] reproducible Debian: speed up scheduler a lot, thanks to Myon! <3
Holger Levsen (@holger)
gitlab at salsa.debian.org
Mon Jul 10 16:01:14 BST 2023
Holger Levsen pushed to branch master at Debian QA / jenkins.debian.net
Commits:
c27c9ddf by Holger Levsen at 2023-07-10T16:59:27+02:00
reproducible Debian: speed up scheduler a lot, thanks to Myon! <3
explaination in https://wiki.postgresql.org/wiki/Don%27t_Do_This#Don.27t_use_NOT_IN
Signed-off-by: Holger Levsen <holger at layer-acht.org>
- - - - -
1 changed file:
- bin/reproducible_scheduler.py
Changes:
=====================================
bin/reproducible_scheduler.py
=====================================
@@ -485,10 +485,10 @@ def query_untested_packages(suite, arch, limit):
FROM (
SELECT sources.id, sources.name FROM sources
WHERE sources.suite='{suite}' AND sources.architecture='{arch}'
- AND sources.id NOT IN
- (SELECT schedule.package_id FROM schedule WHERE build_type='ci_build')
- AND sources.id NOT IN
- (SELECT results.package_id FROM results)
+ AND NOT exists
+ (SELECT schedule.package_id FROM schedule WHERE build_type='ci_build' AND sources.id = schedule.package_id )
+ AND NOT exists
+ (SELECT FROM results AND sources.id = results.package_id )
ORDER BY random()
) AS tmp
LIMIT {limit}""".format(suite=suite, arch=arch, limit=limit)
@@ -505,7 +505,7 @@ def query_new_versions(suite, arch, limit):
AND s.version != r.version
AND r.status != 'blacklisted'
AND s.id IN (SELECT package_id FROM results)
- AND s.id NOT IN (SELECT schedule.package_id FROM schedule WHERE build_type='ci_build')
+ AND NOT exists (SELECT schedule.package_id FROM schedule WHERE build_type='ci_build' AND s.id = schedule.package_id)
GROUP BY s.id, s.name, s.version, r.version
ORDER BY max_date
LIMIT {limit}""".format(suite=suite, arch=arch, limit=limit)
@@ -530,7 +530,7 @@ def query_old_ftbfs_versions(suite, arch, limit):
AND r.status='FTBFS'
AND ( n.bugs = '[]' OR n.bugs IS NULL )
AND r.build_date < '{date}'
- AND s.id NOT IN (SELECT schedule.package_id FROM schedule WHERE build_type='ci_build')
+ AND NOT exists (SELECT FROM schedule WHERE build_type='ci_build' AND s.id = schedule.package_id )
GROUP BY s.id, s.name
ORDER BY max_date
LIMIT {limit}""".format(suite=suite, arch=arch, limit=limit,
@@ -549,7 +549,7 @@ def query_old_depwait_versions(suite, arch, limit):
WHERE s.suite='{suite}' AND s.architecture='{arch}'
AND r.status='depwait'
AND r.build_date < '{date}'
- AND s.id NOT IN (SELECT schedule.package_id FROM schedule WHERE build_type='ci_build')
+ AND NOT exists (SELECT FROM schedule WHERE build_type='ci_build' AND s.id = schedule.package_id )
GROUP BY s.id, s.name
ORDER BY max_date
LIMIT {limit}""".format(suite=suite, arch=arch, limit=limit,
@@ -569,7 +569,7 @@ def query_old_versions(suite, arch, limit):
WHERE s.suite='{suite}' AND s.architecture='{arch}'
AND r.status != 'blacklisted'
AND r.build_date < '{date}'
- AND s.id NOT IN (SELECT schedule.package_id FROM schedule WHERE build_type='ci_build')
+ AND NOT exists (SELECT FROM schedule WHERE build_type='ci_build' AND s.id = schedule.package_id )
GROUP BY s.id, s.name
ORDER BY max_date
LIMIT {limit}""".format(suite=suite, arch=arch,
@@ -587,7 +587,7 @@ def query_e404_versions(suite, arch, limit):
WHERE s.suite='{suite}' AND s.architecture='{arch}'
AND r.status = 'E404'
AND r.build_date < '{date}'
- AND s.id NOT IN (SELECT schedule.package_id FROM schedule WHERE build_type='ci_build')
+ AND NOT exists (SELECT FROM schedule WHERE build_type='ci_build' AND s.id = schedule.package_id )
GROUP BY s.id, s.name
ORDER BY max_date
LIMIT {limit}""".format(suite=suite, arch=arch, limit=limit,
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/c27c9ddf30da95813775d69db20fa99b833f54a7
--
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/c27c9ddf30da95813775d69db20fa99b833f54a7
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/qa-jenkins-scm/attachments/20230710/c9a2cf70/attachment-0001.htm>
More information about the Qa-jenkins-scm
mailing list