Closed Bug 1466574 Opened 6 years ago Closed 6 years ago

make generate_builtin_addons handle races better

Categories

(Firefox Build System :: General, enhancement, P1)

3 Branch
enhancement

Tracking

(firefox63 fixed)

RESOLVED FIXED
mozilla63
Iteration:
63.1 - July 9
Tracking Status
firefox63 --- fixed

People

(Reporter: dmosedale, Assigned: dmosedale)

References

(Blocks 2 open bugs)

Details

Attachments

(1 file)

      No description provided.
Thanks to Nick Alexander for guidance on how to handle this case.  This is currently in a patch over in bug 1464123; I can move the patch to this bug if that's helpful.
The issue, to be clear, is that sometimes in artifact builds, a race can be lost which ends up with the features/ directory under dist/ not being populated.  This patch detects that case, and errors out.

It also handles another case where, if the parent directory for the json file hasn't yet been created, it gets created just-in-time for the file creation.
Summary: make generate_buildin_addons handle races better → make generate_builtin_addons handle races better
(In reply to Dan Mosedale (:dmose) from comment #1)
> Thanks to Nick Alexander for guidance on how to handle this case.  This is
> currently in a patch over in bug 1464123; I can move the patch to this bug
> if that's helpful.

Yep, definitely move this over and flag Ted for review; it's independent of the Node work.

What's happening is that artifact builds install jar.mn-bits from install manifests, and that pushes generated files work into the very beginning of the pre-export tier (since install manifests are handled in pre-export).  It's not clear that anything is forcing the features/ stuff to happen early enough (although in practice it does), so the patch detects that situation.

We'll need to be sure that Fennec, which I think does not ship features per se, works with this.  I think it will because Fennec considers a dictionary to be a feature, so in fact the feature set is not empty.

The directory thing is just hygiene -- that's racy no matter what and should be addressed.
(In reply to Nick Alexander :nalexander from comment #3)
> 
> We'll need to be sure that Fennec, which I think does not ship features per
> se, works with this.  I think it will because Fennec considers a dictionary
> to be a feature, so in fact the feature set is not empty.
> 

At the very least, Fennec builds (both artifact and normal) don't fall-over at build-time with this patch, as I've been using it in activity-stream built with in-tree-node on try, and there don't seem to be any non-green builds caused by this.
Priority: -- → P1
No longer blocks: 1464123
Depends on: 1464123
Blocks: 1464123
No longer depends on: 1464123
Iteration: --- → 63.1 - July 9
Comment on attachment 8983114 [details]
Bug 1466574 - make generate_builtin_addons handle races better,

https://reviewboard.mozilla.org/r/248948/#review258908

Sorry for letting this sit for so long. :-/
Attachment #8983114 - Flags: review?(ted) → review+
No worries; thanks for the review
Pushed by dmosedale@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/fdd8115f07f5
make generate_builtin_addons handle races better, r=ted
https://hg.mozilla.org/mozilla-central/rev/fdd8115f07f5
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
Version: Version 3 → 3 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: