PrefFlips feature can throw during pref setting
Categories
(Firefox :: Nimbus Desktop Client, defect, P1)
Tracking
()
People
(Reporter: beth, Assigned: beth)
References
Details
Attachments
(4 files)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
2.76 KB,
text/plain
|
charlie
:
data-review+
|
Details |
|
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-beta+
|
Details | Review |
|
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-esr128+
|
Details | Review |
If the pref flips feature receives a configuration that would set a pref to a value of a different type, it will throw, which will cause issues with enrollment.
| Assignee | ||
Comment 1•1 year ago
|
||
If the prefFlips feature receives a configuration that conflicts with the local
pref store (e.g., a pref has a default branch value of one type and the feature
configuration contains that same pref with a value of a different type), then
the call to set the pref will throw. We now catch those errors and trigger
unenrollment with reason prefFlips-failed.
| Assignee | ||
Comment 2•1 year ago
|
||
| Assignee | ||
Updated•1 year ago
|
Comment 3•1 year ago
•
|
||
Comment on attachment 9414482 [details]
data-review-1907649.md
Data Review Form
-
Is there or will there be documentation that describes the schema for the ultimate data set in a public, complete, and accurate way?
This collection is documented in its definitions files Histograms.json, Scalars.yaml, and/or Events.yaml and in the Probe Dictionary at https://probes.telemetry.mozilla.org. -
Is there a control mechanism that allows the user to turn the data collection on and off?
opt-out telemetry. -
If the request is for permanent data collection, is there someone who will monitor the data over time?
- Beth Rennie (brennie@mozilla.com)
-
Using the category system of data types on the Mozilla wiki, what collection type of data do the requested measurements fall under?
Category 2 — Interaction Data -
Is the data collection request for default-on or default-off?
default-on -
Does the instrumentation include the addition of any new identifiers (whether anonymous or otherwise; e.g., username, random IDs, etc. See the appendix for more details)?
No -
Is the data collection covered by the existing Firefox privacy notice? If unsure: escalate to legal if:
Yes -
Does the data collection use a third-party collection tool? If yes, escalate to legal.
No
data-review+
Comment 6•1 year ago
|
||
The patch landed in nightly and beta is affected.
:beth, is this bug important enough to require an uplift?
- If yes, please nominate the patch for beta approval.
- If no, please set
status-firefox129towontfix.
For more information, please visit BugBot documentation.
| Assignee | ||
Comment 7•1 year ago
|
||
If the prefFlips feature receives a configuration that conflicts with the local
pref store (e.g., a pref has a default branch value of one type and the feature
configuration contains that same pref with a value of a different type), then
the call to set the pref will throw. We now catch those errors and trigger
unenrollment with reason prefFlips-failed.
Original Revision: https://phabricator.services.mozilla.com/D217502
Updated•1 year ago
|
Comment 8•1 year ago
|
||
beta Uplift Approval Request
- User impact if declined: We could break the enrollment flow for other experiments/rollouts if we launch a prefFlips rollout/experiment
- Code covered by automated testing: yes
- Fix verified in Nightly: no
- Needs manual QE test: yes
- Steps to reproduce for manual QE testing: 1. Create a new prefFlips rollout that sets "extensions.logging.enabled" to 123 2. Attempt to enroll in that rollout 3. Verify that enrollment happened but unenrollment also happened (there should be an enrollment event for the recipe and an unenrollment event, with reason="prefFlips-failed", prefType="bool", prefName="extensions.logging.enabled"
- Risk associated with taking this patch: low
- Explanation of risk level: only affects prefFlips rollouts
- String changes made/needed: none
- Is Android affected?: no
| Assignee | ||
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Comment 10•1 year ago
|
||
Hey Beth! Does this change also affect rollouts that set preferences to the default branch or only the user branch?
I've tried testing with the provided steps from comment #8, using a prefFlip experiment, user branch rollout, and default branch rollout. On the latest Nightly and Beta builds, the preference remains unchanged, but the default branch rollout remains active.
| Assignee | ||
Comment 11•1 year ago
|
||
I filed bug 1910410 to track the issue :ppop mentioned.
| Assignee | ||
Comment 12•1 year ago
|
||
If the prefFlips feature receives a configuration that conflicts with the local
pref store (e.g., a pref has a default branch value of one type and the feature
configuration contains that same pref with a value of a different type), then
the call to set the pref will throw. We now catch those errors and trigger
unenrollment with reason prefFlips-failed.
Original Revision: https://phabricator.services.mozilla.com/D217502
Updated•1 year ago
|
Comment 13•1 year ago
|
||
esr128 Uplift Approval Request
- User impact if declined: We will not be able to target ESR128 with prefFlips for incident response
- Code covered by automated testing: yes
- Fix verified in Nightly: yes
- Needs manual QE test: no
- Steps to reproduce for manual QE testing: n/a
- Risk associated with taking this patch: low
- Explanation of risk level: verified by QA. Only affects prefFlips feature
- String changes made/needed: none
- Is Android affected?: no
Comment 14•1 year ago
|
||
I've verified this issue is no longer reproducible together with Bug 1910410. Tested using Firefox Beta 129.0 (Build ID 20240801122119) on Windows 11 x64, Ubuntu 22.04 x64, and macOS 14.4.
Updated•1 year ago
|
Comment 15•1 year ago
|
||
| uplift | ||
Updated•1 year ago
|
Description
•