|
|
Created:
4 years, 6 months ago by hinoka Modified:
4 years, 6 months ago CC:
chromium-reviews, dpranke+depot_tools_chromium.org, iannucci+depot_tools_chromium.org Base URL:
https://chromium.googlesource.com/chromium/tools/depot_tools.git@master Target Ref:
refs/heads/master Project:
depot_tools Visibility:
Public. |
Descriptiongit_cache.py: Clobber git repos if the config is corrupt
See https://build.chromium.org/p/tryserver.chromium.win/builders/win10_chromium_x64_rel_ng_exp/builds/1801/steps/bot_update/logs/stdio
[Mirror] https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.win%2Fwin10_chromium_x64_rel_ng_exp%2F1801%2F%2B%2Frecipes%2Fsteps%2Fbot_update%2F0%2Fstdout
Sometimes repos become corrupt and bot_update fails spectacularly. This usually happens due to the process being interrupted during a fetch. Git
cache should be able to recover from this by clobbering.
BUG=
Committed: https://chromium.googlesource.com/chromium/tools/depot_tools/+/b48b126ffd2d43e8fa7897c8174e2688e113af4d
Patch Set 1 #
Total comments: 2
Patch Set 2 : Comment #Patch Set 3 : Actually raise an instance of the exception #Patch Set 4 : subprocess2 -> subprocess #Messages
Total messages: 30 (15 generated)
Description was changed from ========== git_cache.py: Clobber git repos if the config is corrupt See https://build.chromium.org/p/tryserver.chromium.win/builders/win10_chromium_x... [Mirror] https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.win%2... Sometimes the main repo becomes corrupt and bot_update fails spectacularly. Git cache should be able to recover from this by clobbering. BUG= ========== to ========== git_cache.py: Clobber git repos if the config is corrupt See https://build.chromium.org/p/tryserver.chromium.win/builders/win10_chromium_x... [Mirror] https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.win%2... Sometimes repos become corrupt and bot_update fails spectacularly. This usually happens due to the process being interrupted during a fetch. Git cache should be able to recover from this by clobbering. BUG= ==========
hinoka@chromium.org changed reviewers: + iannucci@chromium.org
ptal. The context is that somewhere higher up the layer, RefsHeadsFailedToFetch is caught as a signal to clobber. I'm also thinking of wrapping all of the config() function, but this is the one that's failing right now. Config failures are always hard and never transient, so I think this is a good.
hinoka@chromium.org changed reviewers: + estaab@chromium.org - iannucci@chromium.org
+estaab ptal. Can you take a look at this? It's one of the blockers for the Win10 buildbot rollout (see email sent yesterday for context). I realize you don't have a whole lot of experience with this module, but it's a 4 line change :) How it works is that config() is called in a try block somewhere up the chain where "RefsHeadsFailedToFetch" is caught as a signal to clobber the cache. The reason I didn't rename the exception is to keep the CL as small as possible for review (Also theres something satisfying about a 4 line CL solving an issue).
phajdan.jr@chromium.org changed reviewers: + phajdan.jr@chromium.org
LGTM w/comment https://codereview.chromium.org/2031773002/diff/1/git_cache.py File git_cache.py (right): https://codereview.chromium.org/2031773002/diff/1/git_cache.py#newcode253 git_cache.py:253: raise RefsHeadsFailedToFetch It seems hacky to re-use RefsHeadsFailedToFetch exception in this context. Possible solutions: a) rename it to something like ClobberNeeded b) introduce a new one like GCAutodetachFailed and catch it where we catch RefsHeadsFailedToFetch c) have a ClobberNeeded exception both RefsHeadsFailedToFetch and GCAutodetachFailed would inherit from; only catch ClobberNeeded Also, it seems we should raise RefsHeadsFailedToFetch(), i.e. instantiate the class.
The CQ bit was checked by hinoka@google.com to run a CQ dry run
Comment
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2031773002/20001
The CQ bit was checked by hinoka@google.com to run a CQ dry run
Actually raise an instance of the exception
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2031773002/40001
hinoka@google.com changed reviewers: + hinoka@google.com
https://codereview.chromium.org/2031773002/diff/1/git_cache.py File git_cache.py (right): https://codereview.chromium.org/2031773002/diff/1/git_cache.py#newcode253 git_cache.py:253: raise RefsHeadsFailedToFetch On 2016/06/06 11:21:52, Paweł Hajdan Jr. wrote: > It seems hacky to re-use RefsHeadsFailedToFetch exception in this context. > > Possible solutions: > > a) rename it to something like ClobberNeeded > b) introduce a new one like GCAutodetachFailed and catch it where we catch > RefsHeadsFailedToFetch > c) have a ClobberNeeded exception both RefsHeadsFailedToFetch and > GCAutodetachFailed would inherit from; only catch ClobberNeeded > > Also, it seems we should raise RefsHeadsFailedToFetch(), i.e. instantiate the > class. Done.
The CQ bit was unchecked by hinoka@google.com
The CQ bit was checked by hinoka@google.com
The patchset sent to the CQ was uploaded after l-g-t-m from phajdan.jr@chromium.org Link to the patchset: https://codereview.chromium.org/2031773002/#ps40001 (title: "Actually raise an instance of the exception")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2031773002/40001
The CQ bit was checked by hinoka@google.com to run a CQ dry run
subprocess2 -> subprocess
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2031773002/60001
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by hinoka@google.com
The patchset sent to the CQ was uploaded after l-g-t-m from phajdan.jr@chromium.org Link to the patchset: https://codereview.chromium.org/2031773002/#ps60001 (title: "subprocess2 -> subprocess")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2031773002/60001
Message was sent while issue was closed.
Description was changed from ========== git_cache.py: Clobber git repos if the config is corrupt See https://build.chromium.org/p/tryserver.chromium.win/builders/win10_chromium_x... [Mirror] https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.win%2... Sometimes repos become corrupt and bot_update fails spectacularly. This usually happens due to the process being interrupted during a fetch. Git cache should be able to recover from this by clobbering. BUG= ========== to ========== git_cache.py: Clobber git repos if the config is corrupt See https://build.chromium.org/p/tryserver.chromium.win/builders/win10_chromium_x... [Mirror] https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.win%2... Sometimes repos become corrupt and bot_update fails spectacularly. This usually happens due to the process being interrupted during a fetch. Git cache should be able to recover from this by clobbering. BUG= Committed: https://chromium.googlesource.com/chromium/tools/depot_tools/+/b48b126ffd2d43... ==========
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as https://chromium.googlesource.com/chromium/tools/depot_tools/+/b48b126ffd2d43...
Message was sent while issue was closed.
A revert of this CL (patchset #4 id:60001) has been created in https://codereview.chromium.org/2049463003/ by sergeyberezin@chromium.org. The reason for reverting is: Suspected to break builds: http://crbug.com/618124. |