Description[ServiceWorkerCache] Make the cache operations run serially.
There are correctness issues in the ServiceWorkerCache when multiple
operations occur on the same key in parallel. The various steps of the
operations can interleave. This CL serializes all cache operations by
placing all operations in a queue and calling the next operation from
the callback of the previous operation.
While this provides correctness, it is sub-optimal. We really only
need to serialize operations that affect the same entry. A smarter
scheduler can be created in the future to implement that (see
https://crbug.com/451174).
BUG=421226
Committed: https://crrev.com/52dafffb509c6ca4ef59b62f08a7ecdc2e179017
Cr-Commit-Position: refs/heads/master@{#313117}
Patch Set 1 #Patch Set 2 : Nits #Patch Set 3 : Nit #Patch Set 4 : TODO #
Total comments: 4
Patch Set 5 : Address comments from PS4 #Patch Set 6 : Change Close to run serially too #
Messages
Total messages: 12 (3 generated)
|