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

Issue 675693 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Last visit > 30 days ago
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

catch and handle ChangeNotInManifest in ApplyPoolIntoRepo

Project Member Reported by nxia@chromium.org, Dec 19 2016

Issue description

crosreview.com/i/312475  CL to repo that no longer exists in the manifest. We should treat this case better, it blew up in a run with 140 CLs.

Should catch the ChangeNotInManifest exception and handle it properly, insteading of kicking out all other CLs.
 

Comment 1 by nxia@chromium.org, Dec 20 2016

@@@STEP_FAILURE@@@
17:14:52: ERROR: <class 'chromite.lib.patch.ChangeNotInManifest'>: CL:*312475 could not be found in the repo manifest.
Traceback (most recent call last):
  File "/b/build/slave/master-paladin-master/build/chromite/lib/failures_lib.py", line 172, in wrapped_functor
    return functor(*args, **kwargs)
  File "/b/build/slave/master-paladin-master/build/chromite/cbuildbot/stages/sync_stages.py", line 743, in PerformStage
    next_manifest = self.GetNextManifest()
  File "/b/build/slave/master-paladin-master/build/chromite/cbuildbot/stages/sync_stages.py", line 1070, in GetNextManifest
    validation_pool=self.pool, build_id=build_id)
  File "/b/build/slave/master-paladin-master/build/chromite/cbuildbot/lkgm_manager.py", line 372, in CreateNewCandidate
    if (not validation_pool.ApplyPoolIntoRepo() and
  File "/b/build/slave/master-paladin-master/build/chromite/cbuildbot/validation_pool.py", line 1736, in ApplyPoolIntoRepo
    candidates, manifest=manifest)
  File "/b/build/slave/master-paladin-master/build/chromite/cbuildbot/validation_pool.py", line 394, in f
    return functor(self, *args, **kwargs)
  File "/b/build/slave/master-paladin-master/build/chromite/cbuildbot/validation_pool.py", line 914, in Apply
    changes = self.FetchChanges(changes)
  File "/b/build/slave/master-paladin-master/build/chromite/cbuildbot/validation_pool.py", line 792, in FetchChanges
    repo = self.GetGitRepoForChange(change, strict=True)
  File "/b/build/slave/master-paladin-master/build/chromite/cbuildbot/validation_pool.py", line 394, in f
    return functor(self, *args, **kwargs)
  File "/b/build/slave/master-paladin-master/build/chromite/cbuildbot/validation_pool.py", line 418, in GetGitRepoForChange
    checkout = change.GetCheckout(self.manifest, strict=strict)
  File "/b/build/slave/master-paladin-master/build/chromite/lib/patch.py", line 1281, in GetCheckout
    raise ChangeNotInManifest(self)
ChangeNotInManifest: CL:*312475 could not be found in the repo manifest.

Comment 2 by nxia@chromium.org, Jan 31 2017

Labels: Hotlist-Fixit

Comment 3 by nxia@chromium.org, Jan 31 2017

Labels: -Pri-3 Pri-2

Comment 4 by nxia@chromium.org, Feb 3 2017

Cc: nxia@chromium.org
 Issue 653752  has been merged into this issue.

Comment 5 by nxia@chromium.org, Feb 6 2017

Labels: cros-infra-fixedit-q117
Project Member

Comment 6 by bugdroid1@chromium.org, Feb 6 2017

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

commit 61208411f63b2bc38601ceaee153a4b54138a976
Author: Ningning Xia <nxia@chromium.org>
Date: Mon Feb 06 20:47:04 2017

catch and handle ChangeNotInManifest in ApplyPoolIntoRepo

When the master applies a change and gets a ChangeNotInManifest
exception, instead of raising an exception and exiting the build, catch the
exception and treat the patch as a failed_patch.

BUG= chromium:675693 
TEST=unit_tests

Change-Id: I682946913a18a0d2a719e6e9a4188ae5485a0550
Reviewed-on: https://chromium-review.googlesource.com/434804
Commit-Ready: Ningning Xia <nxia@chromium.org>
Tested-by: Ningning Xia <nxia@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>

[modify] https://crrev.com/61208411f63b2bc38601ceaee153a4b54138a976/cbuildbot/patch_series.py
[modify] https://crrev.com/61208411f63b2bc38601ceaee153a4b54138a976/cbuildbot/patch_series_unittest.py

Comment 7 by nxia@chromium.org, Feb 6 2017

Status: Fixed (was: Untriaged)

Comment 8 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59

Comment 9 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Labels: VerifyIn-61

Comment 11 by dchan@chromium.org, Oct 14 2017

Status: Archived (was: Fixed)

Sign in to add a comment