LSNG: Use the WriteOptimizer on the child side too
Categories
(Core :: Storage: localStorage & sessionStorage, enhancement, P1)
Tracking
()
People
(Reporter: janv, Assigned: janv)
References
(Blocks 1 open bug)
Details
Attachments
(7 files)
|
47 bytes,
text/x-phabricator-request
|
jcristau
:
approval-mozilla-beta+
|
Details | Review |
|
47 bytes,
text/x-phabricator-request
|
jcristau
:
approval-mozilla-beta+
|
Details | Review |
|
47 bytes,
text/x-phabricator-request
|
jcristau
:
approval-mozilla-beta+
|
Details | Review |
|
47 bytes,
text/x-phabricator-request
|
jcristau
:
approval-mozilla-beta+
|
Details | Review |
|
47 bytes,
text/x-phabricator-request
|
jcristau
:
approval-mozilla-beta+
|
Details | Review |
|
47 bytes,
text/x-phabricator-request
|
jcristau
:
approval-mozilla-beta+
|
Details | Review |
|
47 bytes,
text/x-phabricator-request
|
jcristau
:
approval-mozilla-beta+
|
Details | Review |
See bug 1534222.
| Assignee | ||
Updated•7 years ago
|
| Assignee | ||
Updated•7 years ago
|
| Assignee | ||
Updated•7 years ago
|
| Assignee | ||
Updated•7 years ago
|
| Assignee | ||
Comment 1•7 years ago
|
||
I'm finishing patches for this.
| Assignee | ||
Comment 2•7 years ago
|
||
This patch creates a new generic class LSWriteOptimizer which can be used with any value type for specific write optimizations either on the parent side or the child side.
| Assignee | ||
Comment 3•7 years ago
|
||
This patch renames the Checkpoint IPC message to CheckpointAndNotify. Other structures used by checkpointing are renamed too. Datastore methods SetItem/RemoveItem/Clear no longer call NotifyObservers, it's now up to RecvCheckpointAndNotify to call it.
| Assignee | ||
Comment 4•7 years ago
|
||
This patch renames GetSnapshotInitInfo to GetSnapshotLoadInfo and removes some arguments that are not directly related to load info.
| Assignee | ||
Comment 5•7 years ago
|
||
This patch adds a write optimizer to LSSnapshot. The optimizer is only used when
there are no observers for other content processes.
| Assignee | ||
Comment 6•7 years ago
|
||
| Assignee | ||
Comment 7•7 years ago
|
||
| Assignee | ||
Comment 8•7 years ago
|
||
| Assignee | ||
Comment 9•7 years ago
|
||
Updated•7 years ago
|
Comment 10•7 years ago
|
||
Comment 11•7 years ago
|
||
Comment 12•7 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/3bb5651a75c2
https://hg.mozilla.org/mozilla-central/rev/52d60f7805dc
https://hg.mozilla.org/mozilla-central/rev/1b79d3220097
https://hg.mozilla.org/mozilla-central/rev/980ca798d66a
https://hg.mozilla.org/mozilla-central/rev/4402b4a26871
https://hg.mozilla.org/mozilla-central/rev/1e420cc50e58
https://hg.mozilla.org/mozilla-central/rev/d119de19f126
https://hg.mozilla.org/mozilla-central/rev/b439d3fd8862
| Assignee | ||
Comment 13•7 years ago
|
||
Comment on attachment 9064971 [details]
Bug 1546723 - Part 1: Convert WriterOptimizer to a generic reusable class; r=asuth
Beta/Release Uplift Approval Request
- User impact if declined: Users would still experience crashes reported in bug 1534222 (happens with LSNG only) and bug 1508740 (happens with the old LS implementation and LSNG too).
In other words, if the fix is approved for beta, a long standing issue reported in bug 1508740 should be mitigated (if not fixed completely) on beta too. - Is this code covered by automated tests?: Yes
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- If yes, steps to reproduce:
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): These changes are quite isolated and if there's a problem we can disable write optimizer with a simple patch or disabled LSNG completely.
- String changes made/needed: None
| Assignee | ||
Updated•7 years ago
|
Comment 14•7 years ago
|
||
Does this change affect the non-LSNG path at all? If so, how do we guard against regressions on that code path?
Comment 15•7 years ago
|
||
Or I guess I was confused by the mention of old LS in comment 13, but this wouldn't fix it there, it fixes it for the LSNG case?
| Assignee | ||
Comment 16•7 years ago
|
||
(In reply to Julien Cristau [:jcristau] from comment #14)
Does this change affect the non-LSNG path at all? If so, how do we guard against regressions on that code path?
Yes, it also affects the non-LSNG path. It fixes bug 1508740 (LSNG must be enabled).
| Assignee | ||
Comment 17•7 years ago
|
||
(In reply to Julien Cristau [:jcristau] from comment #15)
Or I guess I was confused by the mention of old LS in comment 13, but this wouldn't fix it there, it fixes it for the LSNG case?
The set of patches in this bug fixes two bugs (crashes):
-
The crash reported in bug 1534222
This crash happens only with LSNG enabled -
The crash reported in bug 1508740
This is a long standing crash that was not possible to fix with old LS implementation (non-LSNG implementation). So, LSNG must be enabled and also the write optimizer developed in this bug.
| Assignee | ||
Comment 18•7 years ago
|
||
(In reply to Julien Cristau [:jcristau] from comment #14)
Does this change affect the non-LSNG path at all? If so, how do we guard against regressions on that code path?
If there are regressions, we can easily disable the write optimizer with a simple patch or in the worst case we can just disabled LSNG completely on beta.
Comment 19•7 years ago
|
||
Comment on attachment 9064971 [details]
Bug 1546723 - Part 1: Convert WriterOptimizer to a generic reusable class; r=asuth
localstorage fixes for 68.0b10.
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Comment 20•7 years ago
|
||
| bugherder uplift | ||
https://hg.mozilla.org/releases/mozilla-beta/rev/3660181b7bca
https://hg.mozilla.org/releases/mozilla-beta/rev/4b55e5f016e6
https://hg.mozilla.org/releases/mozilla-beta/rev/1521249d7a07
https://hg.mozilla.org/releases/mozilla-beta/rev/ac0e29e198c4
https://hg.mozilla.org/releases/mozilla-beta/rev/e23ee28c87d7
https://hg.mozilla.org/releases/mozilla-beta/rev/0a94dff558b1
https://hg.mozilla.org/releases/mozilla-beta/rev/ad7c72a799ba
https://hg.mozilla.org/releases/mozilla-beta/rev/2a42b81259f6
Description
•