Use cascade bloom filters in add-on blocklist
Categories
(Toolkit :: Blocklist Implementation, enhancement, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox77 | --- | fixed |
People
(Reporter: robwu, Assigned: robwu)
References
(Blocks 3 open bugs)
Details
Attachments
(8 files)
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details |
To improve the performance and scalability of the add-on blocklist, we're going to replace the current JSON blocklist (and its predecessor, the XML blocklist) with a blocklist based on cascade bloom filters (inspired by CRLite).
We will drop unused features. The only supported operation is querying whether a given add-on is blocked. In particular, the block reason won't be part of the blocklist data itself, but can be looked up on demand.
PRD: https://docs.google.com/document/d/12wGjFjscu2pixwt795aHAyoswHsQzztzVUzWjiQz4vg/edit
Assignee | ||
Comment 1•5 years ago
|
||
Assignee | ||
Comment 2•5 years ago
|
||
Assignee | ||
Comment 3•5 years ago
|
||
With this piece, it is now possible for RemoteSettings clients to always
have a valid attachment.
Assignee | ||
Comment 4•5 years ago
|
||
NOTE: This commit does not yet include a dump of the RemoteSettings
collection and attachment. This will be added in the near future.
Assignee | ||
Comment 5•5 years ago
|
||
Assignee | ||
Comment 6•5 years ago
|
||
Updated•5 years ago
|
Assignee | ||
Comment 7•5 years ago
|
||
The MLBF (addons-mlbf.bin) itself is 64 KB.
Together with the metadata, this is 65 KB.
In contrast, the current JSON-based dump (addons.json) is 913 KB.
Assignee | ||
Comment 8•5 years ago
|
||
These two tests use the Kinto client to access the RemoteSettings
database. However, due to the database version bump from D72416,
the kinto client is no longer compatible with the RemoteSettings
database.
This will be fixed in bug 1634203.
Comment 10•5 years ago
|
||
Backed out 8 changesets (bug 1620621) for XPCshell failures in xpcshell/rs-blocklist/test_blocklist_mlbf_fetch.js
Log:
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=300124869&repo=autoland&lineNumber=4275
Push with failures:
https://treeherder.mozilla.org/#/jobs?repo=autoland&group_state=expanded&revision=06fccc75c09e6c8e03f58f373109b18be30e0e6d
Backout:
https://hg.mozilla.org/integration/autoland/rev/769b5f27c2d9eba5a13a42e8dbaa4129ba48f457
Updated•5 years ago
|
Comment 11•5 years ago
|
||
Comment 12•5 years ago
|
||
Backed out for build bustages.
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=300175058&repo=autoland&lineNumber=62282
TV Failures:
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=300177439&repo=autoland&lineNumber=965
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=300178349&repo=autoland&lineNumber=1434
xpcshell failures:
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=300177217&repo=autoland&lineNumber=7116
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=300177069&repo=autoland&lineNumber=6769
Backout: https://hg.mozilla.org/integration/autoland/rev/d1eb84b142af186d4c31effc043b954f68679e4d
Comment 13•5 years ago
|
||
Assignee | ||
Comment 14•5 years ago
|
||
The initial backout was due to bug 1620621, which addressed by a work-around in the test.
The build failures for the second backout is due to Lando zeroing the binary from the "initial dump" commit. I fixed that by pushing my local commits to Phabricator and relanded.
Comment 16•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/15049f81c652
https://hg.mozilla.org/mozilla-central/rev/c0a18dbb6c50
https://hg.mozilla.org/mozilla-central/rev/c4a4b03a7647
https://hg.mozilla.org/mozilla-central/rev/2a8f00adf40e
https://hg.mozilla.org/mozilla-central/rev/061107092afd
https://hg.mozilla.org/mozilla-central/rev/55b40420f1b5
https://hg.mozilla.org/mozilla-central/rev/ae10e6fa5a55
https://hg.mozilla.org/mozilla-central/rev/d34716786f5b
Comment 17•4 years ago
|
||
With this flag enabled it's not possible to re-enable a blocked extension like it was before
Assignee | ||
Comment 18•4 years ago
|
||
(In reply to tbodt from comment #17)
With this flag enabled it's not possible to re-enable a blocked extension like it was before
Previously, there was the concept of "hard block" and "soft block", with the latter being optional. In practice, soft-blocking was not used for new blocks any more, so the new implementation only supports hard blocks. If you have a situation where an add-on was unexpectedly blocked, please file a new bug with an example of the blocked add-on and cc me on it.
Assignee | ||
Updated•4 years ago
|
Description
•