Closed Bug 1416325 Opened 4 years ago Closed 2 years ago

Race condition on first run for recipes targeting pcd


(Firefox :: Normandy Client, defect, P3)






(Reporter: aflorinescu, Unassigned)



1. Create or have a recipe on Staging control center that uses normandy.telemetry.main.environment.profile.creationDate. (make sure new profiles will be eligible)
2. Create new profile, without opening FF with it.
3. Open profile location and copy/paste the prefs.js from 
4. Start Firefox.
5. Open the browser console and see if the recipe executed.

[Actual Result:]
The recipe created at step1 didn't execute.

[Expected Result:]
The recipe should've been executed.

Restarting the browser will execute the recipe. My guess is that normandy.telemetry.main.environment.profile.creationDate is not properly initialized and Shield runs before that happens, therefore the filter will not be met.
See Also: → 1413565
The issue here is that Shield reads from *archived* Telemetry pings, not the current ping. There aren't any archived pings until the end of the first "session" (a Telemetry term). The solution here would be either to provide direct access to in-progress pings, or find another source of profile creation date and the other things we need from Telemetry.
Maybe an idea would be to use: browser.laterrun.bookkeeping.profileCreationTime ?
Blocks: 1415244
In my testing, browser.laterrun.bookkeeping.profileCreationTime is always null. It looks like it is part of a feature that isn't enabled by default. I don't think this is a good approach. I think providing access to the current telemetry pings for use when there are no archived pings is a good way forward.
Component: General → Add-on
Product: Shield → Firefox
Priority: -- → P3

This should be covered by the work in bug 1472781. That will make the in-progress telemetry available instead of relying on only archived telemetry.

Closed: 2 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1472781
You need to log in before you can comment on or make changes to this bug.