catch and handle ChangeNotInManifest in ApplyPoolIntoRepo |
|||||||||
Issue descriptioncrosreview.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.
,
Jan 31 2017
,
Jan 31 2017
,
Feb 3 2017
,
Feb 6 2017
,
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
,
Feb 6 2017
,
Apr 17 2017
,
May 30 2017
,
Aug 1 2017
,
Oct 14 2017
|
|||||||||
►
Sign in to add a comment |
|||||||||
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.