Closed Bug 1669749 Opened 5 years ago Closed 5 years ago

Fix edge-cases with the FissionAutostart experiment pref integration

Categories

(Core :: DOM: Content Processes, task, P2)

task

Tracking

()

VERIFIED FIXED
83 Branch
Fission Milestone M6b
Tracking Status
firefox83 --- verified

People

(Reporter: nika, Assigned: nika)

References

Details

Attachments

(1 file)

No description provided.

This should fix some of the issues discovered by QA during their review of the
fission experiment's preference behaviour.

Severity: -- → N/A
Status: NEW → ASSIGNED
Pushed by nlayzell@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/27ce8bcc3808 Fix edge-cases with fission experiment pref integration, r=kmag
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → 83 Branch

The issues seem to have been fixed. The fission.experiment.enrollmentStatus and fission.experiment.startupEnrollmentStatus preferences now exist with the default value 0 even before enrolling in the experiment.

If the user unenrolls by enabling fission.autostart as described in Bug 1669703 the fission.experiment.enrollmentStatus and fission.experiment.startupEnrollmentStatus will remain on 2 until a restart, when they will become 3.
If the user changes the fission.autostart preference after enrollment + restart, the fission.experiment.enrollmentStatus and fission.experiment.startupEnrollmentStatus preferences will instantly change to 3.

Unenrolling by turning Fission off or on from Nightly Experiments will also correctly change the preferences to 3 ("instantly", as the entry requires restart at state change).

If the user unenrolls as described in Bug 1669536 the fission.experiment.enrollmentStatus and fission.experiment.startupEnrollmentStatus preferences will instantly change to 0 and the fission.autostart preference will remain on the experiment value until a restart, after which it will be false.

This was tested using Firefox Nightly 83.0a1 (Build ID: 20201009041754 and 20201008210150) on Windows 10 x64, macOS 10.15 and Windows 7.

Can :neha or :cpterson please confirm that the fact that some pref changes only occur after restart is the desired behavior?

Flags: needinfo?(nkochar)
Flags: needinfo?(cpeterson)

(In reply to Maria Heres, :mheres, Ecosystem QA from comment #5)

If the user unenrolls by enabling fission.autostart as described in Bug 1669703 the fission.experiment.enrollmentStatus and fission.experiment.startupEnrollmentStatus will remain on 2 until a restart, when they will become 3.
If the user changes the fission.autostart preference after enrollment + restart, the fission.experiment.enrollmentStatus and fission.experiment.startupEnrollmentStatus preferences will instantly change to 3.

I think this is OK. IIUC, the Normandy code that checks whether any of the prefs related to the experiment (including fission.autostart) runs at startup. So the actual unenrollment will run after restart like you see.

If the user unenrolls as described in Bug 1669536 the fission.experiment.enrollmentStatus and fission.experiment.startupEnrollmentStatus preferences will instantly change to 0 and the fission.autostart preference will remain on the experiment value until a restart, after which it will be false.

Can :neha or :cpterson please confirm that the fact that some pref changes only occur after restart is the desired behavior?

As long as the fission.autostart, fission.experiment.enrollmentStatus, and fission.experiment.startupEnrollmentStatus prefs have the expected values after restart, I think we're good.

Flags: needinfo?(nkochar)
Flags: needinfo?(cpeterson)

I am marking this issue as verified fixed based on the two previous comments.

Status: RESOLVED → VERIFIED
See Also: → 1671548
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: