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

Issue 763450 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Add metrics for gsutil retries in chromite/lib/gs.py

Project Member Reported by pprabhu@chromium.org, Sep 8 2017

Issue description

We retry certain kinds of GS errors here: https://cs.corp.google.com/chromeos_public/chromite/lib/gs.py?l=671

But we don't have any metrics about how often we're doing this. We should add metrics, and add metrics to another set of failures that we decide not to retry.

e.g., for b/65478658, we could then easily add a metric at first about the frequency of this failure; then perhaps retry and compare the metric.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 13 2017

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

commit cdd9876384bf7dc26227c2608a1319d7be31ff79
Author: Mike Frysinger <vapier@chromium.org>
Date: Wed Sep 13 08:51:02 2017

upload_prebuilts: retry precondition failures

Sometimes `gsutil acl ch` can throw precondition failures due to how
gsutil internally tries to make sure changes are atomic.  If there are
timeouts/network flakes in the middle, it throws up.  Add retries on
our side.

BUG= chromium:763450 
TEST=unittests pass

Change-Id: Ibe13ba3783b6bb73af65edb8017038a29c2ae41f
Reviewed-on: https://chromium-review.googlesource.com/662222
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Shuqian Zhao <shuqianz@chromium.org>

[modify] https://crrev.com/cdd9876384bf7dc26227c2608a1319d7be31ff79/scripts/upload_prebuilts.py

Comment 4 by pho...@chromium.org, Sep 15 2017

Labels: -Type-Bug Type-Feature
Owner: pho...@chromium.org
Status: Started (was: Untriaged)
Project Member

Comment 5 by bugdroid1@chromium.org, Sep 22 2017

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

commit d883d089ad9849666a8bb0ca19631d8087d2fed0
Author: Mike Frysinger <vapier@chromium.org>
Date: Fri Sep 22 13:10:17 2017

gs: pass down kwargs in acl helpers

This exposes common DoCommand knobs to the ACL helpers.

BUG= chromium:763450 
TEST=unittests pass

Change-Id: I776ab1810b377f0fb85458df9449b21c92b68381
Reviewed-on: https://chromium-review.googlesource.com/662618
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>

[modify] https://crrev.com/d883d089ad9849666a8bb0ca19631d8087d2fed0/lib/gs.py

Project Member

Comment 6 by bugdroid1@chromium.org, Sep 30 2017

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

commit 83f70ba36be0ed3a3c4fc547749db58cab99e80c
Author: Prathmesh Prabhu <pprabhu@chromium.org>
Date: Sat Sep 30 00:42:54 2017

cbuildbot: Split vm_test_stages to their own module.

This splits the VM testing stages into their own module and moves the
helper functions used specifically by these stages to that module from
cbuildbot/commands.py
Helper functions that are generic are left behind.

BUG= chromium:763450 
TEST=unittests

Change-Id: I8f69eb01f2a00753ec12a26fde435d85912d39e9
Reviewed-on: https://chromium-review.googlesource.com/676531
Commit-Ready: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Daniel Wang <wonderfly@google.com>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/83f70ba36be0ed3a3c4fc547749db58cab99e80c/cbuildbot/commands.py
[add] https://crrev.com/83f70ba36be0ed3a3c4fc547749db58cab99e80c/cbuildbot/stages/vm_test_stages_unittest
[modify] https://crrev.com/83f70ba36be0ed3a3c4fc547749db58cab99e80c/cbuildbot/builders/simple_builders.py
[modify] https://crrev.com/83f70ba36be0ed3a3c4fc547749db58cab99e80c/cbuildbot/stages/test_stages_unittest.py
[add] https://crrev.com/83f70ba36be0ed3a3c4fc547749db58cab99e80c/cbuildbot/stages/vm_test_stages.py
[modify] https://crrev.com/83f70ba36be0ed3a3c4fc547749db58cab99e80c/cbuildbot/stages/test_stages.py
[modify] https://crrev.com/83f70ba36be0ed3a3c4fc547749db58cab99e80c/cbuildbot/commands_unittest.py
[add] https://crrev.com/83f70ba36be0ed3a3c4fc547749db58cab99e80c/cbuildbot/stages/vm_test_stages_unittest.py
[modify] https://crrev.com/83f70ba36be0ed3a3c4fc547749db58cab99e80c/cbuildbot/builders/test_builders.py

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 30 2017

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

commit d34634f290246b81db34c219057ccc4211e81566
Author: Paul Hobbs <phobbs@google.com>
Date: Sat Sep 30 03:16:23 2017

gs: Add gs/error_count metric

Add a metric for errors from chromite.lib.gs,
broken down by type and error message (pattern).
We can't include the full error message for cardinality
reasons, but we can say show which error message
pattern it matched.

BUG= chromium:763450 
TEST=None

Change-Id: I3921ee362aff7c79171b0e14862d825a322be409
Reviewed-on: https://chromium-review.googlesource.com/669583
Commit-Ready: Paul Hobbs <phobbs@google.com>
Tested-by: Paul Hobbs <phobbs@google.com>
Reviewed-by: Paul Hobbs <phobbs@google.com>

[modify] https://crrev.com/d34634f290246b81db34c219057ccc4211e81566/lib/constants.py
[modify] https://crrev.com/d34634f290246b81db34c219057ccc4211e81566/lib/gs.py

Project Member

Comment 8 by bugdroid1@chromium.org, Jan 6 2018

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

commit 5186f2698747a97916c732a7f36bfb4ff216acea
Author: Mike Frysinger <vapier@chromium.org>
Date: Sat Jan 06 19:00:39 2018

gs: move acl retry logic to common code

We added the retry logic to upload_prebuilts as it was the one flaking
out on us, and there are only two users in all of chromite for this acl
func, but logically it'd be better to have it in the core lib.

BUG= chromium:763450 
TEST=unittests pass

Change-Id: I498e233b9ad1b60ff5f3dd30c87c81994d4efe2f
Reviewed-on: https://chromium-review.googlesource.com/830117
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>

[modify] https://crrev.com/5186f2698747a97916c732a7f36bfb4ff216acea/lib/gs.py
[modify] https://crrev.com/5186f2698747a97916c732a7f36bfb4ff216acea/scripts/upload_prebuilts.py

Components: Infra>Client>ChromeOS>CI
Components: -Infra>Client>ChromeOS
Status: Fixed (was: Started)

Sign in to add a comment