New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 803634 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Uprev stage taking almost twice as long as before

Project Member Reported by davidri...@chromium.org, Jan 18 2018

Issue description

There's been a significant and noticeable increase in the Uprev stage duration since ~January 10th.

http://shortn/_j2tAc8NIeE

Median stage time jumped from 415s to 850s.  95 percentile jumped from 536 to 1050.

According to akeshet, potentially related to an SDK roll.
 
Cc: cmt...@chromium.org llozano@chromium.org
+SDK folks 
Cc: vapier@chromium.org
My suspicion is purely based on the time of the regression.

"i see an sdk roll just before this
timing seems to line up
b3185b045957666477f0b5a39cebc3e3dbcfb4cc in chromiumos-overlay (not visible in gerrit)
don't see any chromite suspect in the time range"

Comment 3 by vapier@chromium.org, Jan 18 2018

Labels: -Restrict-View-Google
seems unlikely that a toolchain/sdk roll would impact the uprev stage as the uprev logic is entirely in python (and git) and run outside of the chroot.  we execute uprev before initsdk by design.
Cc: manojgupta@chromium.org yunlian@chromium.org rahulchaudhry@chromium.org
yes, I really dont see how this is related to the toolchain...
is this related somehow? (I doubt it but double checking)

https://bugs.chromium.org/p/chromium/issues/detail?id=793540
I saw a "regen cache" message somewhere.  And there were some ebuilds that were upreved even though the 9999 ebuild was not touched. 

https://logs.chromium.org/v/?s=chromeos%2Fbb%2Fchromeos%2Ffalco-paladin%2F17682%2F%2B%2Frecipes%2Fsteps%2FUprev%2F0%2Fstdout

12:31:34: INFO: Creating new stable ebuild /b/c/cbuild/repository/src/third_party/chromiumos-overlay/sys-libs/libcxxabi/libcxxabi-4.0.0-r30.ebuild
12:31:34: INFO: Creating new stable ebuild /b/c/cbuild/repository/src/third_party/chromiumos-overlay/sys-libs/gcc-libs/gcc-libs-4.9.2-r39.ebuild

So I suspect it is not related to toolchain changes but some sort of periodic refresh done by CQ?

Comment 8 by vapier@chromium.org, Jan 19 2018

i doubt coreboot-sdk is related as that's also inside the sdk only

those two logs are very diff because they're comparing very different runs ...
https://uberchromegw.corp.google.com/i/chromeos/builders/falco-paladin/builds/17682
https://uberchromegw.corp.google.com/i/chromeos/builders/falco-full-compile-paladin/builds/11519

notice the number of CLs in each run.
Cc: nxia@chromium.org

Comment 10 by jkop@chromium.org, Jan 25 2018

Owner: nxia@chromium.org
Status: Assigned (was: Untriaged)

Comment 11 by nxia@chromium.org, Jan 25 2018

Compared the two auron_yuna-paladin builds

https://uberchromegw.corp.google.com/i/chromeos/builders/auron_yuna-paladin/builds/1899
(Uprev Stage: 7 mins, 34 secs)

06:42:43: INFO: RunCommand: /b/c/cbuild/repository/chromite/bin/cros_mark_as_stable --all '--boards=auron_yuna' '--overlays=...'
06:45:23: INFO: Skip: Determined that none of the ebuild autotest-private-tests-echoprivate rev_subdirs was touched ['client/site_tests/extension_EchoPrivate']


https://uberchromegw.corp.google.com/i/chromeos/builders/auron_yuna-paladin/builds/1900

(Uprev stage: 16 mins, 51 secs )

09:53:56: INFO: RunCommand: /b/c/cbuild/repository/chromite/bin/cros_mark_as_stable --all '--boards=auron_yuna' '--overlays=...'
10:01:56: INFO: Skip: Determined that none of the ebuild autotest-private-tests-echoprivate rev_subdirs was touched ['client/site_tests/extension_EchoPrivate']


builds/1899 took ~ 3 mins to setup and get the overlay->ebuilds map, while builds/1900 took ~ 8 mins to get the overlay -> ebuilds map before starting processing each overlay. Didn't see big changes in GCE performance. Were some big projects added to the overlays? 

Comment 12 by nxia@chromium.org, Jan 27 2018

Just noticed Uprev became slower since Jan 10th only in GCE builders (http://shortn/_i3Q4HHB16w, http://shortn/_dhZCS263cz), not in baremetal builders (http://shortn/_P0H1gWU3fD, http://shortn/_kLPQEjzLsa)
I wonder if GCE disks have changed behavior in some what that especially affects uprev.

Or that it's related to how much RAM the machines have? Though the GCE instances have way more ram.

Comment 15 by nxia@chromium.org, Feb 6 2018

Still don't know why uprev took longer time to finish since Jan 10th, but the improvement CL in #14 has made the "50%ile" uprev down to 440s. will have one more CL to improve the efficiency.
Cc: jclinton@chromium.org
running things in parallel is good, and we want to do it, but i think there's a significant underlying issue that we don't have a handle on.  in the log Manoj highlighted, gcc-libs shouldn't have been uprevved in the first place.

Comment 18 by nxia@chromium.org, Feb 6 2018

I added some logs before, and I believe gcc-lib has always been uprevved as it satisfies http://shortn/_sQ9mE8TC4W ("not subdirs_to_rev and not self.cros_workon_vars.rev_subdirs"). We started noticing that as jclinton@ turned on the logging in https://chromium-review.googlesource.com/c/chromiumos/chromite/+/865441. 


I mentioned in #12, the slowness only happened to the GCE machines, not the bare-metal machines. There could be some performance regression in the GCE machines, I'm not sure what that is though. 
so we are incorrectly flagging some packages for uprevving when we shouldn't be ?

Comment 20 by nxia@chromium.org, Feb 6 2018

Cc: sjg@chromium.org pmalani@chromium.org
+ pmalani@/sjg@, should http://shortn/_sQ9mE8TC4W be applied to test ebuilds?

Comment 21 by nxia@chromium.org, Feb 6 2018

I meant only apply it to test ebuilds and avoid other ebuilds.
Project Member

Comment 22 by bugdroid1@chromium.org, Feb 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/419e4ebf068e91963b71da73770439085855fcaf

commit 419e4ebf068e91963b71da73770439085855fcaf
Author: Ningning Xia <nxia@google.com>
Date: Thu Feb 08 05:27:26 2018

Uprev overlays belonging to different repo in parallel.

BUG= chromium:805077 ;chromium:803634
TEST=unit_tests

Change-Id: I99378005c6f287f67907b51fbbcbf99ba01c909c
Reviewed-on: https://chromium-review.googlesource.com/902442
Commit-Ready: Ningning Xia <nxia@chromium.org>
Tested-by: Ningning Xia <nxia@chromium.org>
Reviewed-by: Ningning Xia <nxia@chromium.org>

[modify] https://crrev.com/419e4ebf068e91963b71da73770439085855fcaf/scripts/cros_mark_as_stable_unittest.py
[modify] https://crrev.com/419e4ebf068e91963b71da73770439085855fcaf/lib/git.py
[modify] https://crrev.com/419e4ebf068e91963b71da73770439085855fcaf/scripts/cros_mark_as_stable.py

Comment 23 by nxia@chromium.org, Mar 19 2018

Status: Fixed (was: Assigned)

Sign in to add a comment