Open Bug 1646182 Opened 4 years ago Updated 2 months ago

Turn on ExtensionPermissions kvstore backend on all channels

Categories

(WebExtensions :: Storage, enhancement, P3)

enhancement

Tracking

(Not tracked)

REOPENED

People

(Reporter: agi, Unassigned)

References

(Depends on 2 open bugs, Blocks 1 open bug)

Details

(Whiteboard: [addons-jira])

After rvstore.jsm migrates to SafeMode, we should turn on rkv by default in ExtensionPermissions.jsm and remove the pref.

Depends on: 1646181
Severity: -- → N/A
Priority: -- → P2
Depends on: 1597898
Depends on: 1645907
Depends on: 1651628
Priority: P2 → P3
Assignee: agi → nobody

Luca, are there any plans to work on this? It blocks us from removing LMDB support entirely from the tree.

Flags: needinfo?(lgreco)
Depends on: 1805427
No longer depends on: 1805427

(In reply to Jens Stutte [:jstutte] from comment #1)

Luca, are there any plans to work on this? It blocks us from removing LMDB support entirely from the tree.

Hi Jens, I'm so sorry I have not been able to look into this until a few days ago, I didn't follow the work Agi did quite some time ago on the ExtensionPermissions kvstore backend and so I had to do a bit of catch up to gather a good enough picture and answer your question properly.

Based on what I gathered, it seems that Bug 1597898 the underlying kvstore have been migrated to the SafeMode and so, unless I misunderstood Bug 1597898 comments and the patches been landed as part of it, it seems that ExtensionPermissions should not be actually using the LMDB mode anymore since Nightly 81 (and the same should also be the case for ExtensionScriptingStore which uses kvstore too and, unlike ExtensionPermissons rkv backend, it is already enabled on all channel) and should be have been implicitly switched to Safemode already as is

Do you think that is actually already enough to consider removing LMDB support entirely from the tree to not be blocked on this anymore?

In the meantime, given that on Add-ons team side we didn't have any active plans about this and that the ExtensionPermissions kvstore backend was introduced because of interest from the Mobile Android team, we have added this bug to the discussion points for our next cross-teams "Android Extensions" meeting, to assess with the Mobile team if there is still interest and plan some next steps accordingly.


As some more historical context that I've been able to gather about this:

  • it seems that Agi may have worked on introducing a kvstore backend for the ExtensionPermissions as part of improving performance of the extensions permissions backend on Android builds, but it never got enabled in any channel besides nightly because it was blocked on:

    • introducing RKV safe mode in kvstore (Bug 1597898)
    • handling corrupted RKV store file gracefully (Bug 1645907)
  • it looks that the summary of this bug is actually misleading, there isn't any extensions.permissions.backend.use.rkv pref (it is not unlikely that the pref may have been there in earlier version of the Bug 1646181 patch, and replaced with the useRkv parameter default value set to AppConstants.NIGHTLY_BUILD that is actually used to switch between the two backend before the patch have been pushed to autoland)

  • the underlying kvstore seems to have been switch to the RKV safe mode as part of Bug 1597898, and so the ExtensionPermissions should not be using the LMDB mode anymore since Nightly 81.

Flags: needinfo?(lgreco)
Summary: Turn on extensions.permissions.backend.use.rkv by default → Turn on ExtensionPermissions kvstore backend on all channels
Flags: needinfo?(jstutte)

Okay, on top of bug 1597898, bug 1799442 updated rkv to 0.18 which removed LMDB support from rkv by default. I believe no work item remains here.

Feel free to reopen if anyone disagrees.

Flags: needinfo?(jstutte)
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED

Actually this bug is not really about removing lmdb, reopening.

Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Whiteboard: [addons-jira]
See Also: → 1883655
Depends on: 1919530
You need to log in before you can comment on or make changes to this bug.