Open Bug 1424299 Opened 7 years ago Updated 2 years ago

implement a service worker job timeout mechanism with telemetry

Categories

(Core :: DOM: Service Workers, task, P2)

task

Tracking

()

People

(Reporter: bkelly, Unassigned)

References

(Blocks 1 open bug)

Details

Over in bug 1409115 it seems we are getting memory leaks because a `navigator.serviceWorker.register()` promise is never resolving.  The job queue is stuck for some reason.  Andrew is working on a way to avoid the promise leaking the window in that bug, but we should have some kind of failsafe for the job queue as well.

I think perhaps we should implement some way of aborting the job queue if it hasn't made progress in X amount of time.  Maybe something like 5 to 10 minutes.

We should also add telemetry to report when this happens so we can see when problems arise in the wild.  This telemetry should distinguish the type of job and potentially some idea of what state its in.  For example, a register job waiting on ServiceWorkerScriptCache vs a register job waiting on an install event to finish.
See Also: → 1424300
Priority: -- → P2
Type: enhancement → task
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.