Title: [194935] trunk/Websites/perf.webkit.org
- Revision
- 194935
- Author
- [email protected]
- Date
- 2016-01-12 17:05:20 -0800 (Tue, 12 Jan 2016)
Log Message
buildbot syncing scripts sometimes schedule more than one requests per builder
https://bugs.webkit.org/show_bug.cgi?id=153047
Reviewed by Chris Dumez.
The bug was caused by the check for singularity of scheduledRequests being conducted per configuration
instead of per builder. So if there were multiple test configurations (e.g. Speedometer and Octane) that
both used the same builder, then we may end up scheduling both at once.
Fixed the bug by sharing a single set to keep track of the scheduled requests for all configurations per
builder.
* tools/sync-with-buildbot.py:
(load_config): Share a set amongst test configurations for each builder.
(find_request_updates): Instead of creating a new set for each configuration, reuse the existing sets to
share a single set agmonst test configurations for each builder.
Modified Paths
Diff
Modified: trunk/Websites/perf.webkit.org/ChangeLog (194934 => 194935)
--- trunk/Websites/perf.webkit.org/ChangeLog 2016-01-13 00:32:00 UTC (rev 194934)
+++ trunk/Websites/perf.webkit.org/ChangeLog 2016-01-13 01:05:20 UTC (rev 194935)
@@ -1,5 +1,24 @@
2016-01-12 Ryosuke Niwa <[email protected]>
+ buildbot syncing scripts sometimes schedule more than one requests per builder
+ https://bugs.webkit.org/show_bug.cgi?id=153047
+
+ Reviewed by Chris Dumez.
+
+ The bug was caused by the check for singularity of scheduledRequests being conducted per configuration
+ instead of per builder. So if there were multiple test configurations (e.g. Speedometer and Octane) that
+ both used the same builder, then we may end up scheduling both at once.
+
+ Fixed the bug by sharing a single set to keep track of the scheduled requests for all configurations per
+ builder.
+
+ * tools/sync-with-buildbot.py:
+ (load_config): Share a set amongst test configurations for each builder.
+ (find_request_updates): Instead of creating a new set for each configuration, reuse the existing sets to
+ share a single set agmonst test configurations for each builder.
+
+2016-01-12 Ryosuke Niwa <[email protected]>
+
Analysis results viewer sometimes doesn't show the correct relative difference
https://bugs.webkit.org/show_bug.cgi?id=152930
Modified: trunk/Websites/perf.webkit.org/tools/sync-with-buildbot.py (194934 => 194935)
--- trunk/Websites/perf.webkit.org/tools/sync-with-buildbot.py 2016-01-13 00:32:00 UTC (rev 194934)
+++ trunk/Websites/perf.webkit.org/tools/sync-with-buildbot.py 2016-01-13 01:05:20 UTC (rev 194935)
@@ -79,6 +79,8 @@
else:
config[key] = value
+ scheduled_requests_by_builder = {}
+
configurations = options['configurations']
for config in configurations:
@@ -89,8 +91,10 @@
escaped_builder_name = urllib.quote(config['builder'])
config['url'] = '%s/builders/%s/' % (buildbot_url, escaped_builder_name)
config['jsonURL'] = '%s/json/builders/%s/' % (buildbot_url, escaped_builder_name)
- config['scheduledRequests'] = set()
+ scheduled_requests_by_builder.setdefault(config['builder'], set())
+ config['scheduledRequests'] = scheduled_requests_by_builder[config['builder']]
+
return configurations
@@ -98,12 +102,15 @@
request_updates = {}
for config in configurations:
+ config['scheduledRequests'].clear()
+
+ for config in configurations:
try:
pending_builds = fetch_json(config['jsonURL'] + 'pendingBuilds')
scheduled_requests = filter(None, [request_id_from_build(config, build) for build in pending_builds])
for request_id in scheduled_requests:
request_updates[request_id] = {'status': 'scheduled', 'url': config['url']}
- config['scheduledRequests'] = set(scheduled_requests)
+ config['scheduledRequests'].add(request_id)
except (IOError, ValueError) as error:
print >> sys.stderr, "Failed to fetch pending builds for %s: %s" % (config['builder'], str(error))
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes