Closed Bug 994727 Opened 10 years ago Closed 10 years ago

Telemetry experiments: Test and fix how disabling the feature works.

Categories

(Firefox Health Report Graveyard :: Client: Desktop, defect)

defect
Not set
normal

Tracking

(firefox31 verified)

VERIFIED FIXED
Firefox 31
Tracking Status
firefox31 --- verified

People

(Reporter: gfritzsche, Assigned: gfritzsche)

References

Details

(Whiteboard: p=3 s=it-32c-31a-30b.1 [qa!])

Attachments

(2 files, 5 obsolete files)

We need to add test coverage of disabling the experiments feature.
Depends on: 993084
Attached patch Fix turning the feature off (obsolete) — Splinter Review
This fixes the path for turning the feature off during a session.
This breaks down _evaluateExperiments() into more manageable chunks, i hope that shows up sanely via the diff.
Attachment #8404772 - Flags: review?(benjamin)
Attachment #8404772 - Flags: review?(benjamin)
Attached patch Fix turning the feature off (obsolete) — Splinter Review
Functionally equivalent but without the conflict-prone refactoring.
Attachment #8404772 - Attachment is obsolete: true
Attachment #8404834 - Flags: review?(benjamin)
Attached patch Fix turning the feature off (obsolete) — Splinter Review
Attachment #8404834 - Attachment is obsolete: true
Attachment #8404834 - Flags: review?(benjamin)
Attachment #8404836 - Flags: review?(benjamin)
Attachment #8404769 - Flags: review?(benjamin) → review+
Comment on attachment 8404836 [details] [diff] [review]
Fix turning the feature off

I don't see where this disabled the currently-running experiment. I'd expect that to be in _shouldStop?
Flags: needinfo?(georg.fritzsche)
The currently running experiments is disabled via:
* _toggleExperimentsEnabled(false)
* disableExperiment() -> sets _terminateReason
* _main()
* _evaluateExperiments() -> picks up _terminateReason

This already worked fine, this patch assures we don't:
* re-activate the current experiment
* activate the next applicable experiment
* trigger manifest updates
Flags: needinfo?(georg.fritzsche)
That covers most of the cases, indeed. Is there a reason we shouldn't also add a check in maybeStop? I'm a little worried about a case where we need to disable the experiment system in an update and there is an active experiment: we need to make sure that experiment is properly stopped.
Attached patch Fix turning the feature off (obsolete) — Splinter Review
Between restarts we would be covered by the fact that the experiment addons will always be disabled on startup until we explicitly enable them.
But a check in maybeStop() for robustness can't hurt either.
Attachment #8404836 - Attachment is obsolete: true
Attachment #8404836 - Flags: review?(benjamin)
Attachment #8405341 - Flags: review?(benjamin)
Comment on attachment 8405341 [details] [diff] [review]
Fix turning the feature off

In maybeStop don't we still need to call this.stop() instead of just resolving the promise?
Attachment #8405341 - Flags: review?(benjamin) → review-
Attached patch Fix turning the feature off (obsolete) — Splinter Review
Now with some coffee support on my side.
Attachment #8405341 - Attachment is obsolete: true
Attachment #8405364 - Flags: review?(benjamin)
Attachment #8405364 - Flags: review?(benjamin)
Attachment #8405368 - Flags: review?(benjamin)
Attachment #8405364 - Attachment is obsolete: true
Attachment #8405368 - Flags: review?(benjamin) → review+
https://hg.mozilla.org/mozilla-central/rev/2462ea3fd3c7
https://hg.mozilla.org/mozilla-central/rev/e0b01e4f5fc3
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 31
... not sure if it makes sense to track this after the fact (for the team stats etc.).
Flags: firefox-backlog?
Flags: firefox-backlog? → firefox-backlog+
Whiteboard: p=0 s=it-31c-30a-29b.3 [qa?]
I still don't have a good feel on matching point values to work items, guessing on a 3 here.
Whiteboard: p=0 s=it-31c-30a-29b.3 [qa?] → p=3 s=it-31c-30a-29b.3 [qa?]
Hi Liz, can you review this bug to determine if it requires further QA verification [qa+] or not [qa-].
Flags: needinfo?(lhenry)
Flags: needinfo?(lhenry)
QA Contact: kamiljoz
Whiteboard: p=3 s=it-31c-30a-29b.3 [qa?] → p=3 s=it-31c-30a-29b.3 [qa+]
Hi Kamil, confirming if this resolved bug can be verified before the end of the desktop iteration on Monday April 28?
Flags: needinfo?(kamiljoz)
Whiteboard: p=3 s=it-31c-30a-29b.3 [qa+] → p=3 s=it-32c-31a-30b.1 [qa+]
Went through verification with the latest Nightly build from the following location:
- http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2014-04-29-03-02-01-mozilla-central/

- Disabled experiments via "experiments.enabled" in about:config and ensured that experiment wasn't being installed/initiated
- While experiments where disabled via about:config, ensured FX wasn't requesting firefox-manifest.json from the local staging server
- Ensured that "experiments.enabled" stayed disabled when restarting FX several times
- Ensured that once the experiment has been "Removed", re-loading about:addons and about:support didn't request the firefox-manifest from the local staging server
- Ensured that once the experiment has been "Removed", re-loading about:addons and about:support didn't re-enable the experiment
- Ensured that double clicking on a disabled experiment wasn't contact the local staging server and requesting firefox-manifest.json file
- Ensured that FX requests firefox-manifest from the local staging server when the experiment is disabled using "experiments.manifest.fetchIntervalSeconds"

I couldn't go through the test cases that ensure that the experiment stayed disabled after restarting FX due to Bug # 1001787. I'm going to mark this as verified and those cases that haven't been tested here will be covered in that bug once it's completed and pushed into Nightly. If someone disagree's, please re-open :)
Status: RESOLVED → VERIFIED
Flags: needinfo?(kamiljoz)
Whiteboard: p=3 s=it-32c-31a-30b.1 [qa+] → p=3 s=it-32c-31a-30b.1 [qa!]
Product: Firefox Health Report → Firefox Health Report Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: