Open Bug 1778535 (mozjexl-controlled-rollout) Opened 2 years ago Updated 2 months ago

implement controlled rollout code for new versions of mozjexl.js

Categories

(Firefox :: Messaging System, enhancement, P2)

enhancement
Points:
8

Tracking

()

People

(Reporter: dmosedale, Unassigned)

References

(Blocks 2 open bugs)

Details

Attachments

(1 file)

Since mozjexl.jsm is used for targeting in various important critical systems (Nimbus, Firefox Messaging System, Normandy), we can drive the upgrade-risk down lots by making doing a dual deployment and making it observable:

  • ship both the new and old interpreters
  • set up the main caller of mozjexl.eval() in FilterExpressions.js to call both the old and new interpreters
  • if there is a difference, always choose the result from the old interpreter and send telemetry about the mismatch (throw in tests)
  • once we stop getting unexpected telemetry, use a nimbus rollout to stop gradually turn off the old interpreter
  • once we've hit 100% rollout and things look good, remove the old interpreter from the tree
Iteration: 104.1 - June 27 - July 8 → 104.2 - July 11 - July 22
Iteration: 104.2 - July 11 - July 22 → 105.2 - Aug 8 - Aug 19
Iteration: 105.2 - Aug 8 - Aug 19 → 106.1 - Aug 22 - Sept 2
Iteration: 106.1 - Aug 22 - Sept 2 → 106.2 - Sept 5 - Sept 16
Iteration: 106.2 - Sept 5 - Sept 16 → 107.1 - Sept 19 - Sept 30
Iteration: 107.1 - Sept 19 - Sept 30 → 107.2 - Oct 3 - Oct 14
Iteration: 107.2 - Oct 3 - Oct 14 → ---
Assignee: dmosedale → nobody
Points: --- → 8
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: