New issue
Advanced search Search tips

Issue 828937 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 4
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

Optimize test results collecting ordering

Project Member Reported by liaoyuke@chromium.org, Apr 4 2018

Issue description

Owner: martiniss@chromium.org
Status: Assigned (was: Started)
I'm going to do this, since Yuke isn't anymore.
Project Member

Comment 2 by bugdroid1@chromium.org, Aug 9

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/11a7006d9f225d4684d8f3ffeb8f8850cacafd62

commit 11a7006d9f225d4684d8f3ffeb8f8850cacafd62
Author: Takuto Ikuta <tikuta@chromium.org>
Date: Thu Aug 09 02:33:18 2018

Sort gtest execution order by the number of shards

Sometimes receiving test result and uploading result on buildbot take
times.

This CL sorts the test execution order by the number of shards.
And results of faster tests, having small number of shards, are
received/uploaded while time taking tests, having large number of
shards, are running on swarming.

This is effort similar to
https://chromium-review.googlesource.com/1096723

Bug:  828937 
Change-Id: Idcc0f9cc17ed0f4609e2a29ab3ce2f51b51fb37b
Reviewed-on: https://chromium-review.googlesource.com/1168264
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>

[modify] https://crrev.com/11a7006d9f225d4684d8f3ffeb8f8850cacafd62/scripts/slave/recipes/chromium_trybot.py
[modify] https://crrev.com/11a7006d9f225d4684d8f3ffeb8f8850cacafd62/scripts/slave/recipe_modules/chromium_tests/steps.py

Project Member

Comment 3 by bugdroid1@chromium.org, Aug 9

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/luci/luci-py.git/+/6e8c8d15a84cfeb09a7a922994280b6d51cf436e

commit 6e8c8d15a84cfeb09a7a922994280b6d51cf436e
Author: Stephen Martinis <martiniss@google.com>
Date: Thu Aug 09 22:22:39 2018

Add 'get_states' endpoint

This endpoint returns the state of a set of swarming tasks. It will be
used by the chromium recipe to poll for which tasks can be collected
out of a set of triggered tasks.

Bug:  828937 
Change-Id: Ie43dcbd8d175dd6d599bea638edd48df27e8e4e0
Reviewed-on: https://chromium-review.googlesource.com/1159224
Commit-Queue: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Marc-Antoine Ruel <maruel@chromium.org>

[modify] https://crrev.com/6e8c8d15a84cfeb09a7a922994280b6d51cf436e/appengine/swarming/handlers_endpoints.py
[modify] https://crrev.com/6e8c8d15a84cfeb09a7a922994280b6d51cf436e/appengine/swarming/handlers_endpoints_test.py
[modify] https://crrev.com/6e8c8d15a84cfeb09a7a922994280b6d51cf436e/appengine/swarming/swarming_rpcs.py

Ok, I added a get_states RPC to swarming which will allow this to work. Tested it on the dev swarming server and it seems to work.

It's a bit unclear how i'm going to use this in our collection code though. Our code right now is structured such that every swarming task is independent. It'll probably take a bit of surgery to group everything together to try to collect them all at once... Any suggestions?
I uploaded https://crrev.com/c/1170198, which is a proof of concept CL. The idea it uses is that when you execute tests, you first group the tests into groups which have differing ways of collecting results. Each group has its own function. Swarming would have its own function which would call out to a special script which would use the 'get_states' API call.

Any thoughts on this approach?
#5,
If it is possible to know a finished test by get_states api call, how about using get_states api to process finished test one by one?
Anyway, #2 reduced the average step time of browser_tests step on win7_chromium_rel_ng from 800~1000 seconds to less than 300 seconds with slight increase of webkit_layout_test and content_browsertests.

https://screenshot.googleplex.com/r6iKivDDKY8

Data is taken from this query.
https://pantheon.corp.google.com/bigquery?folder=&organizationId=433637338589&project=cr-buildbucket&j=bquxjob_3711f8a0_16524409658&page=queryresults

#6,
Yes, that's the plan. The only problem is the actual recipe code doesn't make it easy to do this, since each test is collected separately.

Some combination of https://crrev.com/c/1170198 and https://crrev.com/c/1170240 should make this happen. I'm OOO for a week but once I'm back I'll try to land this.
Project Member

Comment 10 by bugdroid1@chromium.org, Aug 22

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/f3e9b7bf78b166830d71d47257a9862194cb9c8d

commit f3e9b7bf78b166830d71d47257a9862194cb9c8d
Author: Stephen Martinis <martiniss@chromium.org>
Date: Wed Aug 22 20:15:50 2018

Improve gen_trigger_step_data

This CL changes _gen_trigger_step_test_data to have a globally
incrementing counter for shard ids. This means that when multiple tasks
are triggered in a test, they will all have unique task ids. This is
needed for https://crrev.com/c/1170198, which has a test where the task
ids had previously been duplicated.

Recipe-Nontrivial-Roll: build_limited_scripts_slave
Bug:  828937 
Change-Id: Icb86ccc00ae78c5dfe0ee7eb26f28849f989ec85
Reviewed-on: https://chromium-review.googlesource.com/1185734
Commit-Queue: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>

[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_branches_V8_Linux___beta_branch___debug.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/chromium.expected/dynamic_swarmed_gtest_mac_gpu.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Linux___debug.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_win32_release.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/findit/chromium/test.expected/flaky_tests.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/findit/chromium/test.expected/remove_culprits_for_flaky_failures.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_ports_V8_Linux___arm___sim___debug.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_mac64_debug.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_win_experimental.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_ports_V8_Arm___debug.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipe_modules/ios/examples/full.expected/xcode_build_version.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Win64___msvc.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_linux_tsan2.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_android_dbg.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipe_modules/swarming/examples/full.expected/get_states.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_win32_debug.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipe_modules/swarming/examples/full.expected/basic.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Linux___shared.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_perf_win7.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_android32__m_nexus5x_.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_linux32_rel.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipe_modules/ios/examples/full.expected/xcode_build_version_luci.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipe_modules/swarming/examples/full.expected/service_account.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_clusterfuzz_V8_NumFuzz___TSAN.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipe_modules/dart/examples/example.expected/basic-win.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_linux_asan.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/ios/unified_builder_tester.expected/basic.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/findit/chromium/test.expected/findit_culprit_in_first_sub_range.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/chromium_trybot.expected/swarmed_webkit_tests_interrupted.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipe_modules/chromium_tests/tests/api/run_tests_on_tryserver.expected/basic.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_branches_mac__beta_.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/more_configs.expected/full_client_webrtc_Linux__more_configs_.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_win64_debug.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_linux_ubsan_vptr.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_branches_V8_Linux___beta_branch.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Linux64_TSAN___concurrent_marking.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Linux64_TSAN.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/chromium_trybot.expected/swarming_test_failure.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Linux64_ASAN.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Linux64.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_fyi_android_asan__swarming_.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_branches_V8_arm___sim___beta_branch___debug.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_win_x64_win8.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Win64___debug.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipe_modules/ios/examples/full.expected/errors.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_branches_V8_Linux___stable_branch.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_mac_dbg.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_mac_rel.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/findit/chromium/test.expected/use_build_parameter_for_tests_non_json_buildbucket.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Linux64___custom_snapshot___debug_slim_bisect_tester_swarming.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_win32_release__clang_.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_win_asan.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipe_modules/swarming/examples/full.expected/basic_luci.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_perf_linux_trusty.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Win32___debug.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_win_clang_rel.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Win64.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_ports_V8_Linux___arm64___sim.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_fyi_win64_debug__win10_.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_android_arm64_rel.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Linux.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_win32_asan.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/findit/chromium/test.expected/use_analyze_set_to_False_for_non_linear_try_job.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Win32.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Mac64___debug.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8/flako.expected/full_bisect.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_branches_win__beta_.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_linux_ubsan.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_android64__m_nexus5x__dbg_.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_linux_tsan_v2.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/findit/chromium/test.expected/use_build_parameter_for_tests.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_linux_dbg.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_win_x64_rel.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_linux64_debug_forced.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/more_configs.expected/full_tryserver_webrtc_win_more_configs.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/README.recipes.md
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_branches_mac__stable_.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/more_configs.expected/full_tryserver_webrtc_linux_more_configs.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_win_x64_dbg.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_linux_msan.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_win64_release.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_linux_asan.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_branches_V8_Linux64___stable_branch___debug.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/findit/chromium/test.expected/findit_culprit_in_middle_sub_range.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_tryserver_v8_v8_foobar_rel_ng_triggered_triggered_by_ts.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/more_configs.expected/full_client_webrtc_Win__more_configs_.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_ports_V8_Linux___mips64el___sim.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_tryserver_v8_v8_foobar_rel_ng_triggered_flakes.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_perf_mac_10_11.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Linux___nosnap_with_test_spec.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_android32__m_nexus5x__failing_archive.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_win_x64_win10.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_ports_V8_Arm.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_branches_V8_arm___sim___beta_branch.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/chromium.expected/dynamic_swarmed_isolated_script_test_mac_gpu.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/findit/chromium/test.expected/findit_consecutive_culprits.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_linux32_debug.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_linux_ubsan.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_mac_asan.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/findit/chromium/test.expected/findit_culprit_in_last_sub_range.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipe_modules/ios/examples/full.expected/basic.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_android64__m_nexus5x_.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_android_rel.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Linux___shared_bisect_swarming.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_linux_experimental.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/chromium_trybot.expected/dynamic_isolated_script_test_on_trybot_failing.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Linux64___debug.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_ports_V8_Linux___arm64___sim___debug.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_tryserver_v8_v8_foobar_rel_ng_triggered_failures.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_linux_msan.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Linux___noi18n___debug.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_linux_ubsan_vptr.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipe_modules/swarming/api.py
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_win_dbg.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/findit/chromium/test.expected/webkit_layout_tests.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/chromium_trybot.expected/swarmed_layout_tests_too_many_failures_for_retcode.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/findit/chromium/test.expected/findit_tests_multiple_culprits.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_tryserver_v8_v8_foobar_rel_ng_triggered_positional_extra_flags.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_branches_V8_arm___sim___stable_branch___debug.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_mac_asan.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_linux_rel.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_linux64_release.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_linux32_dbg.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipe_modules/chromium_tests/tests/steps/swarming_isolated_script_test.expected/without_patch_filter.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Linux64___cfi.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_linux64_debug_failing_test.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_branches_linux__stable_.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_tryserver_v8_v8_foobar_rel_ng_triggered_triggered_by_cq.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipe_modules/dart/examples/example.expected/basic.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_branches_win__stable_.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Linux___arm64___sim___MSAN.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_branches_V8_Linux___stable_branch___debug.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_linux64_debug.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_branches_V8_Linux64___stable_branch.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_branches_V8_arm___sim___stable_branch.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_android32__m_nexus5x__dbg_.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_tryserver_v8_v8_foobar_rel_ng_triggered_slow_tests.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_mac64_release.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_ports_V8_Linux___arm___sim.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_fyi_win64_debug__win8_.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_win_rel.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/findit/chromium/test.expected/findit_steps_multiple_culprits.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_linux_memcheck.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_ports_V8_Arm_GC_Stress.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/findit/chromium/test.expected/only_one_test_passed.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/chromium.expected/dynamic_swarmed_serialized_gtests.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_branches_V8_Linux64___beta_branch___debug.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Linux64_one_failure_build_env_not_supported.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Mac64.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/v8.expected/full_client_v8_V8_Linux_swarming_collect_failure.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_fyi_android_perf__swarming_.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipe_modules/ios/examples/full.expected/deprecate_xcode_version.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_mac_experimental.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipe_modules/swarming/examples/full.expected/basic_luci_experimental.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/scripts/slave/recipes/chromium_trybot.expected/swarmed_webkit_tests_unexpected_error.json
[modify] https://crrev.com/f3e9b7bf78b166830d71d47257a9862194cb9c8d/script
Project Member

Comment 12 by bugdroid1@chromium.org, Sep 7

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/e073db43f67de2f6fbae211c3f72fcef9d23fb24

commit e073db43f67de2f6fbae211c3f72fcef9d23fb24
Author: Stephen Martinis <martiniss@chromium.org>
Date: Fri Sep 07 21:08:49 2018

get_task_states.py: Small fixes

Ran it locally and noticed there were a few small issues.

Bug:  828937 
Change-Id: I5e3e250f17d22d8e25ed9c29c0eb36063216d7c3
Reviewed-on: https://chromium-review.googlesource.com/1211433
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Stephen Martinis <martiniss@chromium.org>

[modify] https://crrev.com/e073db43f67de2f6fbae211c3f72fcef9d23fb24/scripts/slave/recipe_modules/swarming/resources/get_task_states.py

Project Member

Comment 13 by bugdroid1@chromium.org, Sep 10

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/luci/recipes-py/+/e7c361bd4185326e511520b11950cab5d4291281

commit e7c361bd4185326e511520b11950cab5d4291281
Author: Stephen Martinis <martiniss@google.com>
Date: Mon Sep 10 22:12:07 2018

time module: Make sleep shell out sometimes

If we're sleeping for a long period of time, run an actual python
program, so that the sleep shows up in the actual build.

Bug:  828937 
Recipe-Nontrivial-Roll: release_scripts
Change-Id: I910254682c38d604c5dc285ca86563641063cd54
Reviewed-on: https://chromium-review.googlesource.com/1213686
Commit-Queue: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>

[modify] https://crrev.com/e7c361bd4185326e511520b11950cab5d4291281/recipe_modules/time/__init__.py
[modify] https://crrev.com/e7c361bd4185326e511520b11950cab5d4291281/recipe_modules/time/api.py
[modify] https://crrev.com/e7c361bd4185326e511520b11950cab5d4291281/README.recipes.md

Project Member

Comment 14 by bugdroid1@chromium.org, Sep 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/e67eacd64a395351877a84c9bde3cb0adb8bdb90

commit e67eacd64a395351877a84c9bde3cb0adb8bdb90
Author: Stephen Martinis <martiniss@chromium.org>
Date: Mon Sep 17 23:48:21 2018

Collect multiple swarming tasks at a time

This isn't enabled by default; it only is enabled on chromium_tests
staging builders. Will eventually switch everything to this logic.

See bug for background on why this change is happening; it should speed
up builds.

Bug:  828937 

Change-Id: Ic15535585fea8d14fd61d3d2f1c293e1c909aeb9
Reviewed-on: https://chromium-review.googlesource.com/1170198
Commit-Queue: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Garrett Beaty <gbeaty@chromium.org>

[modify] https://crrev.com/e67eacd64a395351877a84c9bde3cb0adb8bdb90/scripts/slave/recipes/blink_downstream.py
[add] https://crrev.com/e67eacd64a395351877a84c9bde3cb0adb8bdb90/scripts/slave/recipe_modules/test_utils/tests/run_tests_include_swarming.py
[modify] https://crrev.com/e67eacd64a395351877a84c9bde3cb0adb8bdb90/scripts/slave/recipe_modules/chromium_tests/__init__.py
[modify] https://crrev.com/e67eacd64a395351877a84c9bde3cb0adb8bdb90/scripts/slave/recipe_modules/chromium_tests/tests/api/trybot_steps.py
[modify] https://crrev.com/e67eacd64a395351877a84c9bde3cb0adb8bdb90/scripts/slave/recipe_modules/test_utils/tests/run_tests.py
[modify] https://crrev.com/e67eacd64a395351877a84c9bde3cb0adb8bdb90/scripts/slave/README.recipes.md
[add] https://crrev.com/e67eacd64a395351877a84c9bde3cb0adb8bdb90/scripts/slave/recipe_modules/test_utils/tests/run_tests_include_swarming.expected/should_warn.json
[modify] https://crrev.com/e67eacd64a395351877a84c9bde3cb0adb8bdb90/scripts/slave/recipe_modules/test_utils/api.py
[modify] https://crrev.com/e67eacd64a395351877a84c9bde3cb0adb8bdb90/scripts/slave/recipe_modules/chromium_tests/steps.py
[modify] https://crrev.com/e67eacd64a395351877a84c9bde3cb0adb8bdb90/scripts/slave/recipe_modules/swarming/examples/full.py
[modify] https://crrev.com/e67eacd64a395351877a84c9bde3cb0adb8bdb90/scripts/slave/recipe_modules/chromium_tests/tests/api/main_waterfall_steps.py

Project Member

Comment 15 by bugdroid1@chromium.org, Sep 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/0f362ef276a7ffca3ee564c4990eb12d4bcfca0a

commit 0f362ef276a7ffca3ee564c4990eb12d4bcfca0a
Author: Stephen Martinis <martiniss@chromium.org>
Date: Tue Sep 18 21:20:08 2018

Collect last test if it's the only test still running

When collecting a list of tasks in test_utils, and there's only one test
still running, just skip straight to collecting it. The current
swarming logic polls the swarming server once a minute, but if there's
only one test we're waiting for, just call the normal logic for that
test. No need to poll the server.

Bug:  828937 
Change-Id: Id4462f4da124d8741fb149691e6be5fc19bb2bcb
Reviewed-on: https://chromium-review.googlesource.com/1232135
Reviewed-by: Garrett Beaty <gbeaty@chromium.org>
Commit-Queue: Stephen Martinis <martiniss@chromium.org>

[modify] https://crrev.com/0f362ef276a7ffca3ee564c4990eb12d4bcfca0a/scripts/slave/recipe_modules/test_utils/api.py
[modify] https://crrev.com/0f362ef276a7ffca3ee564c4990eb12d4bcfca0a/scripts/slave/recipe_modules/test_utils/tests/run_tests.py

Cc: gbeaty@chromium.org
Ok, this is live on the staging bots!

https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/linux-chromium-tests-staging-tests/5326 is a sample build. You can see it working correctly here.

You can see in the build that there's a ~30 minute time period where all the tasks are pending. I'm not sure what's going on there.

I think this is pretty much ready to promote to prod. The only thought I had was that maybe we should add some sort of step text or annotations to the collect tasks step which lists the number of tests we're waiting for, or maybe the shards we're waiting for? Something like

"Waiting for 10 tests to complete:"

and then maybe the step log lists like

webkit_layout_tests: 3/17 shards completed
base_unittests: 0/5 shards completed

I think it could be useful, but maybe not? Thoughts?
Also of note; it looks like the collect tasks take longer than they do, when we first start waiting. This is because we start sleeping for 1 second, then do exponential backoff. I think the sleep we have, which is implemented in python, ends up showing up in milo as the step taking longer. Which might be a bug, but is probably just something strange going on with how annotations work. It could be confusing for users, but maybe not? Just something to think about.
Project Member

Comment 18 by bugdroid1@chromium.org, Sep 27

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/e4b14a8eca3a9a7a5eaa38c9e9790295656c72db

commit e4b14a8eca3a9a7a5eaa38c9e9790295656c72db
Author: Stephen Martinis <martiniss@chromium.org>
Date: Thu Sep 27 19:44:14 2018

Enable swarming collection logic for all builders

Recipe-Nontrivial-Roll: build_limited_scripts_slave
Bug:  828937 
Change-Id: I13d395c8a450502cf5c8d0d8377dc5fa3425b461
Reviewed-on: https://chromium-review.googlesource.com/1244127
Commit-Queue: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Garrett Beaty <gbeaty@chromium.org>

[modify] https://crrev.com/e4b14a8eca3a9a7a5eaa38c9e9790295656c72db/scripts/slave/recipes/findit/chromium/test.expected/findit_steps_multiple_culprits.json
[modify] https://crrev.com/e4b14a8eca3a9a7a5eaa38c9e9790295656c72db/scripts/slave/recipes/chromium.expected/dynamic_swarmed_isolated_script_test_mac_gpu.json
[modify] https://crrev.com/e4b14a8eca3a9a7a5eaa38c9e9790295656c72db/scripts/slave/recipes/chromium.expected/dynamic_swarmed_gtest_mac_gpu.json
[modify] https://crrev.com/e4b14a8eca3a9a7a5eaa38c9e9790295656c72db/scripts/slave/README.recipes.md
[modify] https://crrev.com/e4b14a8eca3a9a7a5eaa38c9e9790295656c72db/scripts/slave/recipe_modules/test_utils/api.py
[modify] https://crrev.com/e4b14a8eca3a9a7a5eaa38c9e9790295656c72db/scripts/slave/recipes/chromium.expected/dynamic_swarmed_isolated_script_test_win_gpu.json
[modify] https://crrev.com/e4b14a8eca3a9a7a5eaa38c9e9790295656c72db/scripts/slave/recipes/chromium_trybot.expected/swarming_trigger_failure.json
[modify] https://crrev.com/e4b14a8eca3a9a7a5eaa38c9e9790295656c72db/scripts/slave/recipes/chromium.expected/dynamic_swarmed_isolated_script_test_win_non_gpu.json

Project Member

Comment 19 by bugdroid1@chromium.org, Oct 1

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/55adf6ac7024f7c022981b4dc7582f42adac9952

commit 55adf6ac7024f7c022981b4dc7582f42adac9952
Author: Stephen Martinis <martiniss@chromium.org>
Date: Mon Oct 01 20:26:21 2018

Revert "Enable swarming collection logic for all builders"

This reverts commit e4b14a8eca3a9a7a5eaa38c9e9790295656c72db.

Reason for revert: Broke win7 perf builder

Original change's description:
> Enable swarming collection logic for all builders
>
> Recipe-Nontrivial-Roll: build_limited_scripts_slave
> Bug:  828937 
> Change-Id: I13d395c8a450502cf5c8d0d8377dc5fa3425b461
> Reviewed-on: https://chromium-review.googlesource.com/1244127
> Commit-Queue: Stephen Martinis <martiniss@chromium.org>
> Reviewed-by: Garrett Beaty <gbeaty@chromium.org>

TBR=martiniss@chromium.org,bpastene@chromium.org,gbeaty@chromium.org
NOTRY=true
# NOTRY-ing because linux_chromium_rel_ng is being slow

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  828937 
Change-Id: I8d492080d11893d837e3e5b04d23ad7712bda50e
Recipe-Nontrivial-Roll: build_limited_scripts_slave
Reviewed-on: https://chromium-review.googlesource.com/1255542
Commit-Queue: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Stephen Martinis <martiniss@chromium.org>

[modify] https://crrev.com/55adf6ac7024f7c022981b4dc7582f42adac9952/scripts/slave/recipes/findit/chromium/test.expected/findit_steps_multiple_culprits.json
[modify] https://crrev.com/55adf6ac7024f7c022981b4dc7582f42adac9952/scripts/slave/recipes/chromium.expected/dynamic_swarmed_isolated_script_test_mac_gpu.json
[modify] https://crrev.com/55adf6ac7024f7c022981b4dc7582f42adac9952/scripts/slave/recipes/chromium.expected/dynamic_swarmed_gtest_mac_gpu.json
[modify] https://crrev.com/55adf6ac7024f7c022981b4dc7582f42adac9952/scripts/slave/recipe_modules/test_utils/api.py
[modify] https://crrev.com/55adf6ac7024f7c022981b4dc7582f42adac9952/scripts/slave/recipes/chromium.expected/dynamic_swarmed_isolated_script_test_win_gpu.json
[modify] https://crrev.com/55adf6ac7024f7c022981b4dc7582f42adac9952/scripts/slave/recipes/chromium_trybot.expected/swarming_trigger_failure.json
[modify] https://crrev.com/55adf6ac7024f7c022981b4dc7582f42adac9952/scripts/slave/recipes/chromium.expected/dynamic_swarmed_isolated_script_test_win_non_gpu.json

Project Member

Comment 21 by bugdroid1@chromium.org, Oct 9

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/294c1abf75b5eef27fce92460b39b282311cfec1

commit 294c1abf75b5eef27fce92460b39b282311cfec1
Author: Stephen Martinis <martiniss@chromium.org>
Date: Tue Oct 09 19:10:53 2018

SwarmingGroup: Poll swarming server in resource

Moves the polling logic for the SwarmingGroup logic into the python
script we run. The script now knows which tasks are associated with each
other, and waits until it sees at least one of those groups of tasks
(task sets) has finished, before exiting. The script now does the
exponential backoff, rather than the recipe, which will make the build
UI be much cleaner.

Bug:  828937 
Change-Id: I919fa02df294fcd17b85c5ef594055cb1902a73a
Reviewed-on: https://chromium-review.googlesource.com/c/1263102
Commit-Queue: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Garrett Beaty <gbeaty@chromium.org>

[delete] https://crrev.com/fe16500a4b6538dd6858b5129ca1cde34adc44d7/scripts/slave/recipe_modules/swarming/examples/full.expected/get_states.json
[add] https://crrev.com/294c1abf75b5eef27fce92460b39b282311cfec1/scripts/slave/recipe_modules/swarming/examples/full.expected/wait_for_tasks.json
[delete] https://crrev.com/fe16500a4b6538dd6858b5129ca1cde34adc44d7/scripts/slave/recipe_modules/swarming/resources/get_task_states.py
[modify] https://crrev.com/294c1abf75b5eef27fce92460b39b282311cfec1/scripts/slave/recipe_modules/swarming/api.py
[modify] https://crrev.com/294c1abf75b5eef27fce92460b39b282311cfec1/scripts/slave/README.recipes.md
[add] https://crrev.com/294c1abf75b5eef27fce92460b39b282311cfec1/scripts/slave/recipe_modules/swarming/unittests/wait_for_finished_task_set_unittest.py
[modify] https://crrev.com/294c1abf75b5eef27fce92460b39b282311cfec1/scripts/slave/recipe_modules/test_utils/api.py
[modify] https://crrev.com/294c1abf75b5eef27fce92460b39b282311cfec1/scripts/slave/recipe_modules/test_utils/tests/run_tests.py
[add] https://crrev.com/294c1abf75b5eef27fce92460b39b282311cfec1/scripts/slave/recipe_modules/swarming/resources/wait_for_finished_task_set.py
[modify] https://crrev.com/294c1abf75b5eef27fce92460b39b282311cfec1/scripts/slave/recipe_modules/swarming/examples/full.py
[modify] https://crrev.com/294c1abf75b5eef27fce92460b39b282311cfec1/scripts/slave/recipe_modules/swarming/test_api.py

Project Member

Comment 22 by bugdroid1@chromium.org, Oct 9

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/c2f482c5e55007f71203ce0ea8f61cf066a06c9b

commit c2f482c5e55007f71203ce0ea8f61cf066a06c9b
Author: Stephen Martinis <martiniss@chromium.org>
Date: Tue Oct 09 20:55:57 2018

Fix small typo in wait_for_finished_task_set.py

Parsed args including the file itself.

Bug:  828937 
Change-Id: I321e687b40845d84e52518848715e08c7b25a9c4
Reviewed-on: https://chromium-review.googlesource.com/c/1271835
Auto-Submit: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Garrett Beaty <gbeaty@chromium.org>
Commit-Queue: Stephen Martinis <martiniss@chromium.org>

[modify] https://crrev.com/c2f482c5e55007f71203ce0ea8f61cf066a06c9b/scripts/slave/recipe_modules/swarming/resources/wait_for_finished_task_set.py

Project Member

Comment 23 by bugdroid1@chromium.org, Oct 9

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/d400973f0205b0b1f80c0fee51065706695efeeb

commit d400973f0205b0b1f80c0fee51065706695efeeb
Author: Stephen Martinis <martiniss@chromium.org>
Date: Tue Oct 09 21:16:18 2018

Revert "SwarmingGroup: Poll swarming server in resource"

This reverts commit 294c1abf75b5eef27fce92460b39b282311cfec1.

Reason for revert: Broke, crbug.com/893732

Original change's description:
> SwarmingGroup: Poll swarming server in resource
> 
> Moves the polling logic for the SwarmingGroup logic into the python
> script we run. The script now knows which tasks are associated with each
> other, and waits until it sees at least one of those groups of tasks
> (task sets) has finished, before exiting. The script now does the
> exponential backoff, rather than the recipe, which will make the build
> UI be much cleaner.
> 
> Bug:  828937 
> Change-Id: I919fa02df294fcd17b85c5ef594055cb1902a73a
> Reviewed-on: https://chromium-review.googlesource.com/c/1263102
> Commit-Queue: Stephen Martinis <martiniss@chromium.org>
> Reviewed-by: Garrett Beaty <gbeaty@chromium.org>

TBR=martiniss@chromium.org,jbudorick@chromium.org,gbeaty@chromium.org

Change-Id: I18d4052a7c76e775a031cd9654c04a45984feb91
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  828937 
Reviewed-on: https://chromium-review.googlesource.com/c/1272055
Commit-Queue: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Stephen Martinis <martiniss@chromium.org>

[add] https://crrev.com/d400973f0205b0b1f80c0fee51065706695efeeb/scripts/slave/recipe_modules/swarming/examples/full.expected/get_states.json
[delete] https://crrev.com/c2f482c5e55007f71203ce0ea8f61cf066a06c9b/scripts/slave/recipe_modules/swarming/examples/full.expected/wait_for_tasks.json
[add] https://crrev.com/d400973f0205b0b1f80c0fee51065706695efeeb/scripts/slave/recipe_modules/swarming/resources/get_task_states.py
[modify] https://crrev.com/d400973f0205b0b1f80c0fee51065706695efeeb/scripts/slave/recipe_modules/swarming/api.py
[modify] https://crrev.com/d400973f0205b0b1f80c0fee51065706695efeeb/scripts/slave/README.recipes.md
[delete] https://crrev.com/c2f482c5e55007f71203ce0ea8f61cf066a06c9b/scripts/slave/recipe_modules/swarming/unittests/wait_for_finished_task_set_unittest.py
[modify] https://crrev.com/d400973f0205b0b1f80c0fee51065706695efeeb/scripts/slave/recipe_modules/test_utils/api.py
[modify] https://crrev.com/d400973f0205b0b1f80c0fee51065706695efeeb/scripts/slave/recipe_modules/test_utils/tests/run_tests.py
[delete] https://crrev.com/c2f482c5e55007f71203ce0ea8f61cf066a06c9b/scripts/slave/recipe_modules/swarming/resources/wait_for_finished_task_set.py
[modify] https://crrev.com/d400973f0205b0b1f80c0fee51065706695efeeb/scripts/slave/recipe_modules/swarming/examples/full.py
[modify] https://crrev.com/d400973f0205b0b1f80c0fee51065706695efeeb/scripts/slave/recipe_modules/swarming/test_api.py

Project Member

Comment 24 by bugdroid1@chromium.org, Oct 15

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/95f7a3fd73934d6df92ea197a896571fae359738

commit 95f7a3fd73934d6df92ea197a896571fae359738
Author: Stephen Martinis <martiniss@chromium.org>
Date: Mon Oct 15 21:03:48 2018

Reland "SwarmingGroup: Poll swarming server in resource"

This reverts commit d400973f0205b0b1f80c0fee51065706695efeeb.

Fixes:
* Properly reference args.attempts
* Use proper mode when writing output.

Original change's description:
> Revert "SwarmingGroup: Poll swarming server in resource"
>
> This reverts commit 294c1abf75b5eef27fce92460b39b282311cfec1.
>
> Reason for revert: Broke, crbug.com/893732
>
> Original change's description:
> > SwarmingGroup: Poll swarming server in resource
> >
> > Moves the polling logic for the SwarmingGroup logic into the python
> > script we run. The script now knows which tasks are associated with each
> > other, and waits until it sees at least one of those groups of tasks
> > (task sets) has finished, before exiting. The script now does the
> > exponential backoff, rather than the recipe, which will make the build
> > UI be much cleaner.
> >
> > Bug:  828937 
> > Change-Id: I919fa02df294fcd17b85c5ef594055cb1902a73a
> > Reviewed-on: https://chromium-review.googlesource.com/c/1263102
> > Commit-Queue: Stephen Martinis <martiniss@chromium.org>
> > Reviewed-by: Garrett Beaty <gbeaty@chromium.org>
>
> TBR=martiniss@chromium.org,jbudorick@chromium.org,gbeaty@chromium.org
>
> Change-Id: I18d4052a7c76e775a031cd9654c04a45984feb91
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug:  828937 
> Reviewed-on: https://chromium-review.googlesource.com/c/1272055
> Commit-Queue: Stephen Martinis <martiniss@chromium.org>
> Reviewed-by: Stephen Martinis <martiniss@chromium.org>

Bug:  828937 
Change-Id: I94e47f44be76a8ac126c5359ee24a46f64ab5db3
Reviewed-on: https://chromium-review.googlesource.com/c/1272061
Reviewed-by: Garrett Beaty <gbeaty@chromium.org>
Commit-Queue: Stephen Martinis <martiniss@chromium.org>

[delete] https://crrev.com/3d25d41a69c36a6cae2e1067dd6084f7e3e0faf0/scripts/slave/recipe_modules/swarming/examples/full.expected/get_states.json
[add] https://crrev.com/95f7a3fd73934d6df92ea197a896571fae359738/scripts/slave/recipe_modules/swarming/examples/full.expected/wait_for_tasks.json
[delete] https://crrev.com/3d25d41a69c36a6cae2e1067dd6084f7e3e0faf0/scripts/slave/recipe_modules/swarming/resources/get_task_states.py
[modify] https://crrev.com/95f7a3fd73934d6df92ea197a896571fae359738/scripts/slave/recipe_modules/swarming/api.py
[modify] https://crrev.com/95f7a3fd73934d6df92ea197a896571fae359738/scripts/slave/README.recipes.md
[add] https://crrev.com/95f7a3fd73934d6df92ea197a896571fae359738/scripts/slave/recipe_modules/swarming/unittests/wait_for_finished_task_set_unittest.py
[modify] https://crrev.com/95f7a3fd73934d6df92ea197a896571fae359738/scripts/slave/recipe_modules/test_utils/api.py
[modify] https://crrev.com/95f7a3fd73934d6df92ea197a896571fae359738/scripts/slave/recipe_modules/test_utils/tests/run_tests.py
[add] https://crrev.com/95f7a3fd73934d6df92ea197a896571fae359738/scripts/slave/recipe_modules/swarming/resources/wait_for_finished_task_set.py
[modify] https://crrev.com/95f7a3fd73934d6df92ea197a896571fae359738/scripts/slave/recipe_modules/swarming/examples/full.py
[modify] https://crrev.com/95f7a3fd73934d6df92ea197a896571fae359738/scripts/slave/recipe_modules/swarming/test_api.py

Project Member

Comment 25 by bugdroid1@chromium.org, Oct 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/bff93c370fda3ff574a398fa34220fbc5dc14906

commit bff93c370fda3ff574a398fa34220fbc5dc14906
Author: Stephen Martinis <martiniss@chromium.org>
Date: Tue Oct 16 17:14:12 2018

swarming recipe module: Fix test data

I forgot to update the step test data for wait_for_finished_task_set
in https://crrev.com/c/1272061.

Bug:  828937 
Change-Id: Ief59a2c865a7102512de4677e529d485b81f6a8a
Reviewed-on: https://chromium-review.googlesource.com/c/1281830
Auto-Submit: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Garrett Beaty <gbeaty@chromium.org>
Commit-Queue: Stephen Martinis <martiniss@chromium.org>

[modify] https://crrev.com/bff93c370fda3ff574a398fa34220fbc5dc14906/scripts/slave/README.recipes.md
[modify] https://crrev.com/bff93c370fda3ff574a398fa34220fbc5dc14906/scripts/slave/recipe_modules/swarming/api.py

Project Member

Comment 26 by bugdroid1@chromium.org, Oct 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/a633b7a827de74ee83d5b36eb8206fbf522df3ea

commit a633b7a827de74ee83d5b36eb8206fbf522df3ea
Author: Stephen Martinis <martiniss@chromium.org>
Date: Thu Oct 18 21:57:51 2018

Reland "Enable swarming collection logic for all builders"

This reverts commit 55adf6ac7024f7c022981b4dc7582f42adac9952.

Reason for revert: Fixed issues

Original change's description:
> Revert "Enable swarming collection logic for all builders"
>
> This reverts commit e4b14a8eca3a9a7a5eaa38c9e9790295656c72db.
>
> Reason for revert: Broke win7 perf builder
>
> Original change's description:
> > Enable swarming collection logic for all builders
> >
> > Recipe-Nontrivial-Roll: build_limited_scripts_slave
> > Bug:  828937 
> > Change-Id: I13d395c8a450502cf5c8d0d8377dc5fa3425b461
> > Reviewed-on: https://chromium-review.googlesource.com/1244127
> > Commit-Queue: Stephen Martinis <martiniss@chromium.org>
> > Reviewed-by: Garrett Beaty <gbeaty@chromium.org>
>
> TBR=martiniss@chromium.org,bpastene@chromium.org,gbeaty@chromium.org
> NOTRY=true
> # NOTRY-ing because linux_chromium_rel_ng is being slow
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Bug:  828937 
> Change-Id: I8d492080d11893d837e3e5b04d23ad7712bda50e
> Recipe-Nontrivial-Roll: build_limited_scripts_slave
> Reviewed-on: https://chromium-review.googlesource.com/1255542
> Commit-Queue: Stephen Martinis <martiniss@chromium.org>
> Reviewed-by: Stephen Martinis <martiniss@chromium.org>

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  828937 
Recipe-Nontrivial-Roll: build_limited_scripts_slave
Change-Id: I9b806626cda64b42dc8670cf19907125df99fdcf
Reviewed-on: https://chromium-review.googlesource.com/c/1281829
Commit-Queue: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Garrett Beaty <gbeaty@chromium.org>
Reviewed-by: Stephen Martinis <martiniss@chromium.org>

[modify] https://crrev.com/a633b7a827de74ee83d5b36eb8206fbf522df3ea/scripts/slave/recipes/findit/chromium/test.expected/findit_steps_multiple_culprits.json
[modify] https://crrev.com/a633b7a827de74ee83d5b36eb8206fbf522df3ea/scripts/slave/recipes/chromium.expected/dynamic_swarmed_isolated_script_test_mac_gpu.json
[modify] https://crrev.com/a633b7a827de74ee83d5b36eb8206fbf522df3ea/scripts/slave/recipes/chromium.expected/dynamic_swarmed_gtest_mac_gpu.json
[modify] https://crrev.com/a633b7a827de74ee83d5b36eb8206fbf522df3ea/scripts/slave/README.recipes.md
[modify] https://crrev.com/a633b7a827de74ee83d5b36eb8206fbf522df3ea/scripts/slave/recipe_modules/test_utils/api.py
[modify] https://crrev.com/a633b7a827de74ee83d5b36eb8206fbf522df3ea/scripts/slave/recipes/chromium.expected/dynamic_swarmed_isolated_script_test_win_gpu.json
[modify] https://crrev.com/a633b7a827de74ee83d5b36eb8206fbf522df3ea/scripts/slave/recipes/chromium_trybot.expected/swarming_trigger_failure.json
[modify] https://crrev.com/a633b7a827de74ee83d5b36eb8206fbf522df3ea/scripts/slave/recipes/chromium_trybot.py
[modify] https://crrev.com/a633b7a827de74ee83d5b36eb8206fbf522df3ea/scripts/slave/recipes/chromium.expected/dynamic_swarmed_isolated_script_test_win_non_gpu.json

Project Member

Comment 27 by bugdroid1@chromium.org, Oct 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/0f7e194e9a84a7530620a72cf231f85fd769fdfa

commit 0f7e194e9a84a7530620a72cf231f85fd769fdfa
Author: Stephen Martinis <martiniss@chromium.org>
Date: Thu Oct 18 22:45:10 2018

Revert "Reland "Enable swarming collection logic for all builders""

This reverts commit a633b7a827de74ee83d5b36eb8206fbf522df3ea.

Reason for revert: Broke bots, example failure is https://ci.chromium.org/p/chromium/builders/luci.chromium.try/win7_chromium_rel_ng/111064

Original change's description:
> Reland "Enable swarming collection logic for all builders"
> 
> This reverts commit 55adf6ac7024f7c022981b4dc7582f42adac9952.
> 
> Reason for revert: Fixed issues
> 
> Original change's description:
> > Revert "Enable swarming collection logic for all builders"
> >
> > This reverts commit e4b14a8eca3a9a7a5eaa38c9e9790295656c72db.
> >
> > Reason for revert: Broke win7 perf builder
> >
> > Original change's description:
> > > Enable swarming collection logic for all builders
> > >
> > > Recipe-Nontrivial-Roll: build_limited_scripts_slave
> > > Bug:  828937 
> > > Change-Id: I13d395c8a450502cf5c8d0d8377dc5fa3425b461
> > > Reviewed-on: https://chromium-review.googlesource.com/1244127
> > > Commit-Queue: Stephen Martinis <martiniss@chromium.org>
> > > Reviewed-by: Garrett Beaty <gbeaty@chromium.org>
> >
> > TBR=martiniss@chromium.org,bpastene@chromium.org,gbeaty@chromium.org
> > NOTRY=true
> > # NOTRY-ing because linux_chromium_rel_ng is being slow
> >
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> >
> > Bug:  828937 
> > Change-Id: I8d492080d11893d837e3e5b04d23ad7712bda50e
> > Recipe-Nontrivial-Roll: build_limited_scripts_slave
> > Reviewed-on: https://chromium-review.googlesource.com/1255542
> > Commit-Queue: Stephen Martinis <martiniss@chromium.org>
> > Reviewed-by: Stephen Martinis <martiniss@chromium.org>
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug:  828937 
> Recipe-Nontrivial-Roll: build_limited_scripts_slave
> Change-Id: I9b806626cda64b42dc8670cf19907125df99fdcf
> Reviewed-on: https://chromium-review.googlesource.com/c/1281829
> Commit-Queue: Stephen Martinis <martiniss@chromium.org>
> Reviewed-by: Garrett Beaty <gbeaty@chromium.org>
> Reviewed-by: Stephen Martinis <martiniss@chromium.org>

TBR=martiniss@chromium.org,bpastene@chromium.org,gbeaty@chromium.org

Change-Id: I511674270afcd825568efe8f7d53cc0743f309ec
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  828937 
Reviewed-on: https://chromium-review.googlesource.com/c/1290029
Reviewed-by: Stephen Martinis <martiniss@chromium.org>
Commit-Queue: Stephen Martinis <martiniss@chromium.org>

[modify] https://crrev.com/0f7e194e9a84a7530620a72cf231f85fd769fdfa/scripts/slave/recipes/findit/chromium/test.expected/findit_steps_multiple_culprits.json
[modify] https://crrev.com/0f7e194e9a84a7530620a72cf231f85fd769fdfa/scripts/slave/recipes/chromium.expected/dynamic_swarmed_isolated_script_test_mac_gpu.json
[modify] https://crrev.com/0f7e194e9a84a7530620a72cf231f85fd769fdfa/scripts/slave/recipes/chromium.expected/dynamic_swarmed_gtest_mac_gpu.json
[modify] https://crrev.com/0f7e194e9a84a7530620a72cf231f85fd769fdfa/scripts/slave/README.recipes.md
[modify] https://crrev.com/0f7e194e9a84a7530620a72cf231f85fd769fdfa/scripts/slave/recipe_modules/test_utils/api.py
[modify] https://crrev.com/0f7e194e9a84a7530620a72cf231f85fd769fdfa/scripts/slave/recipes/chromium.expected/dynamic_swarmed_isolated_script_test_win_gpu.json
[modify] https://crrev.com/0f7e194e9a84a7530620a72cf231f85fd769fdfa/scripts/slave/recipes/chromium_trybot.expected/swarming_trigger_failure.json
[modify] https://crrev.com/0f7e194e9a84a7530620a72cf231f85fd769fdfa/scripts/slave/recipes/chromium_trybot.py
[modify] https://crrev.com/0f7e194e9a84a7530620a72cf231f85fd769fdfa/scripts/slave/recipes/chromium.expected/dynamic_swarmed_isolated_script_test_win_non_gpu.json

The collect logic failed on windows. Landing a change to help with debugging to figure out why it failed.
Status: Started (was: Assigned)
Project Member

Comment 31 by bugdroid1@chromium.org, Oct 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/f824a51760bb8146ffae9a18b0192d0e81135122

commit f824a51760bb8146ffae9a18b0192d0e81135122
Author: Stephen Martinis <martiniss@chromium.org>
Date: Fri Oct 19 18:47:02 2018

Revert "swarming: Be verbose when waiting for finished tasks"

This reverts commit 25ce0293bcd5991617eeb095204ddd117ed9da7a.

Reason for revert: Typo that wasn't caught by tests :(

Original change's description:
> swarming: Be verbose when waiting for finished tasks
> 
> Bug:  828937 
> Change-Id: I4cdafec41e058566e2d932bfde0d7165db761324
> Reviewed-on: https://chromium-review.googlesource.com/c/1290070
> Commit-Queue: Stephen Martinis <martiniss@chromium.org>
> Auto-Submit: Stephen Martinis <martiniss@chromium.org>
> Reviewed-by: Garrett Beaty <gbeaty@chromium.org>

TBR=martiniss@chromium.org,gbeaty@chromium.org

Change-Id: Iff76f2d1f7e6cb436795fede3156331852280b5f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  828937 
Reviewed-on: https://chromium-review.googlesource.com/c/1292090
Reviewed-by: Stephen Martinis <martiniss@chromium.org>
Commit-Queue: Stephen Martinis <martiniss@chromium.org>

[modify] https://crrev.com/f824a51760bb8146ffae9a18b0192d0e81135122/scripts/slave/README.recipes.md
[modify] https://crrev.com/f824a51760bb8146ffae9a18b0192d0e81135122/scripts/slave/recipe_modules/swarming/resources/wait_for_finished_task_set.py
[modify] https://crrev.com/f824a51760bb8146ffae9a18b0192d0e81135122/scripts/slave/recipe_modules/swarming/examples/full.expected/wait_for_tasks.json
[modify] https://crrev.com/f824a51760bb8146ffae9a18b0192d0e81135122/scripts/slave/recipe_modules/swarming/api.py

Project Member

Comment 32 by bugdroid1@chromium.org, Oct 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/6609fa66f4dfc9ef808096abba70a26fd3fd9719

commit 6609fa66f4dfc9ef808096abba70a26fd3fd9719
Author: Stephen Martinis <martiniss@chromium.org>
Date: Fri Oct 19 22:24:32 2018

Reland "swarming: Be verbose when waiting for finished tasks"

This is a reland of 25ce0293bcd5991617eeb095204ddd117ed9da7a

Original change's description:
> swarming: Be verbose when waiting for finished tasks
> 
> Bug:  828937 
> Change-Id: I4cdafec41e058566e2d932bfde0d7165db761324
> Reviewed-on: https://chromium-review.googlesource.com/c/1290070
> Commit-Queue: Stephen Martinis <martiniss@chromium.org>
> Auto-Submit: Stephen Martinis <martiniss@chromium.org>
> Reviewed-by: Garrett Beaty <gbeaty@chromium.org>

Bug:  828937 
Change-Id: I4fdaf728a06c0865e88d8ba3114e1266dfd43f11
Reviewed-on: https://chromium-review.googlesource.com/c/1292091
Auto-Submit: Stephen Martinis <martiniss@chromium.org>
Commit-Queue: Garrett Beaty <gbeaty@chromium.org>
Reviewed-by: Garrett Beaty <gbeaty@chromium.org>

[modify] https://crrev.com/6609fa66f4dfc9ef808096abba70a26fd3fd9719/scripts/slave/README.recipes.md
[modify] https://crrev.com/6609fa66f4dfc9ef808096abba70a26fd3fd9719/scripts/slave/recipe_modules/swarming/resources/wait_for_finished_task_set.py
[modify] https://crrev.com/6609fa66f4dfc9ef808096abba70a26fd3fd9719/scripts/slave/recipe_modules/swarming/examples/full.expected/wait_for_tasks.json
[modify] https://crrev.com/6609fa66f4dfc9ef808096abba70a26fd3fd9719/scripts/slave/recipe_modules/swarming/unittests/wait_for_finished_task_set_unittest.py
[modify] https://crrev.com/6609fa66f4dfc9ef808096abba70a26fd3fd9719/scripts/slave/recipe_modules/swarming/api.py

Project Member

Comment 33 by bugdroid1@chromium.org, Oct 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/52ceeb6b50f3c5b46d226ae905fce0906b1e014a

commit 52ceeb6b50f3c5b46d226ae905fce0906b1e014a
Author: Stephen Martinis <martiniss@chromium.org>
Date: Fri Oct 19 22:41:22 2018

wait_for_finished_task_set: Handle file descriptor

Close the fd when we create the temp file. Will break on windows if we
don't do this.

Bug:  828937 
Change-Id: Ied0a510581da1abed659323866ea194e7f2d32ad
Reviewed-on: https://chromium-review.googlesource.com/c/1292338
Commit-Queue: Stephen Martinis <martiniss@chromium.org>
Commit-Queue: John Budorick <jbudorick@chromium.org>
Auto-Submit: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: John Budorick <jbudorick@chromium.org>

[modify] https://crrev.com/52ceeb6b50f3c5b46d226ae905fce0906b1e014a/scripts/slave/recipe_modules/swarming/resources/wait_for_finished_task_set.py

Project Member

Comment 34 by bugdroid1@chromium.org, Oct 31

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/f7a1708743eb930f09e83f7d7591061b457ba7f1

commit f7a1708743eb930f09e83f7d7591061b457ba7f1
Author: Stephen Martinis <martiniss@chromium.org>
Date: Wed Oct 31 20:30:52 2018

Reland #2 of "Enable swarming collection logic for all builders"

This is a reland of a633b7a827de74ee83d5b36eb8206fbf522df3ea

Original change's description:
> Reland "Enable swarming collection logic for all builders"
>
> This reverts commit 55adf6ac7024f7c022981b4dc7582f42adac9952.
>
> Reason for revert: Fixed issues
>
<SNIP>
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Bug:  828937 
> Recipe-Nontrivial-Roll: build_limited_scripts_slave
> Change-Id: I9b806626cda64b42dc8670cf19907125df99fdcf
> Reviewed-on: https://chromium-review.googlesource.com/c/1281829
> Commit-Queue: Stephen Martinis <martiniss@chromium.org>
> Reviewed-by: Garrett Beaty <gbeaty@chromium.org>
> Reviewed-by: Stephen Martinis <martiniss@chromium.org>

Bug:  828937 
Recipe-Nontrivial-Roll: build_limited_scripts_slave
Led-Recipes-Tester-Builder: luci.chromium.try:win7_chromium_rel_ng
Change-Id: I79a5cef319ad2cabcc327235788e05fc1101538e
Reviewed-on: https://chromium-review.googlesource.com/c/1290030
Reviewed-by: Garrett Beaty <gbeaty@chromium.org>
Commit-Queue: Stephen Martinis <martiniss@chromium.org>

[modify] https://crrev.com/f7a1708743eb930f09e83f7d7591061b457ba7f1/scripts/slave/recipes/findit/chromium/test.expected/findit_steps_multiple_culprits.json
[modify] https://crrev.com/f7a1708743eb930f09e83f7d7591061b457ba7f1/scripts/slave/recipes/chromium.expected/dynamic_swarmed_isolated_script_test_mac_gpu.json
[modify] https://crrev.com/f7a1708743eb930f09e83f7d7591061b457ba7f1/scripts/slave/recipes/chromium.expected/dynamic_swarmed_gtest_mac_gpu.json
[modify] https://crrev.com/f7a1708743eb930f09e83f7d7591061b457ba7f1/scripts/slave/README.recipes.md
[modify] https://crrev.com/f7a1708743eb930f09e83f7d7591061b457ba7f1/scripts/slave/recipe_modules/test_utils/api.py
[modify] https://crrev.com/f7a1708743eb930f09e83f7d7591061b457ba7f1/scripts/slave/recipes/chromium.expected/dynamic_swarmed_isolated_script_test_win_gpu.json
[modify] https://crrev.com/f7a1708743eb930f09e83f7d7591061b457ba7f1/scripts/slave/recipes/chromium_trybot.expected/swarming_trigger_failure.json
[modify] https://crrev.com/f7a1708743eb930f09e83f7d7591061b457ba7f1/scripts/slave/recipes/chromium_trybot.py
[modify] https://crrev.com/f7a1708743eb930f09e83f7d7591061b457ba7f1/scripts/slave/recipes/chromium.expected/dynamic_swarmed_isolated_script_test_win_non_gpu.json

Project Member

Comment 35 by bugdroid1@chromium.org, Nov 2

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/8eec940d2f59eae24daeb064d5d51efcd4092366

commit 8eec940d2f59eae24daeb064d5d51efcd4092366
Author: Stephen Martinis <martiniss@chromium.org>
Date: Fri Nov 02 18:43:10 2018

Remove test sorting

Tests are now collected when they finish, so they don't need to be
sorted by number of shards anymore.

Bug:  828937 
Change-Id: I8bd540e85fa3c0afe201f4a801db413411a5f6e5
Reviewed-on: https://chromium-review.googlesource.com/c/1311217
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Stephen Martinis <martiniss@chromium.org>

[modify] https://crrev.com/8eec940d2f59eae24daeb064d5d51efcd4092366/scripts/slave/recipe_modules/chromium_tests/steps.py

Status: Fixed (was: Started)
Ok, I think this is done! Woohoo!
This is awesome!

A while ago, I found that 25% of CQ builder build times are on waiting for Swarming to complete and process results (Dirk saw those numbers). I could find some time to get the new percentage after your change is online for a longer time. Please feel free to ping me in a month!
Status: Assigned (was: Fixed)
This appears to have broken the swarming staging bots:
https://luci-milo-dev.appspot.com/p/chromium/builders/luci.chromium.ci/Android%20N5%20Swarm

stephen, can you take a look?
Status: Started (was: Assigned)
Might have fixed, I'll monitor.
I fixed. I had to cancel all the tasks triggered by the builder; it had triggered a ton of tasks, and since there was a bug, it never waited for them to finish, and the bots processing the tasks became overloaded.
Status: Fixed (was: Started)
This is done. stgao@, if you have time, some stats here would be appreciated!

Sign in to add a comment