Closed Bug 1909409 Opened 3 months ago Closed 2 months ago

Implement an SQLite-backed `nsIKeyValueService`

Categories

(Core :: SQLite and Embedded Database Bindings, task)

task

Tracking

()

RESOLVED FIXED
131 Branch
Tracking Status
firefox131 --- fixed

People

(Reporter: lina, Assigned: lina)

References

(Blocks 1 open bug)

Details

Attachments

(4 files)

This bug covers landing an implementation of nsIKeyValueService, behind a new contract ID, that uses SQLite instead of rkv for persistence. It should pass all the tests for our current implementation. Once we have it in the tree, we can start migrating callers to use it, but that migration is out of scope for this bug.

Depends on D217386

Attachment #9414308 - Attachment description: WIP: Bug 1909409 - Use UTF-16 strings for paths in `nsIKeyValueService`. → Bug 1909409 - Use wide strings for paths in `nsIKeyValueService`. r?beth!,nika
Attachment #9414309 - Attachment description: WIP: Bug 1909409 - Upgrade `kvstore` to Rust 2018. → Bug 1909409 - Upgrade `kvstore` to Rust 2018. r?nika!
Attachment #9414310 - Attachment description: WIP: Bug 1909409 - Implement an SQLite-backed `nsIKeyValueService`. → Bug 1909409 - Implement an SQLite-backed `nsIKeyValueService`. r?mak!,nika!,beth,janerik
Attachment #9414311 - Attachment description: WIP: Bug 1909409 - Tests for the new SQLite-backed `nsIKeyValueService` implementation. → Bug 1909409 - Tests for the new SQLite-backed `nsIKeyValueService` implementation. r?mak!,beth,janerik
Attachment #9414310 - Attachment description: Bug 1909409 - Implement an SQLite-backed `nsIKeyValueService`. r?mak!,nika!,beth,janerik → Bug 1909409 - Implement an SQLite-backed `nsIKeyValueService`. r?mak!,nika!,beth!,janerik
Attachment #9414311 - Attachment description: Bug 1909409 - Tests for the new SQLite-backed `nsIKeyValueService` implementation. r?mak!,beth,janerik → Bug 1909409 - Tests for the new SQLite-backed `nsIKeyValueService` implementation. r?mak!,beth!,janerik
Blocks: 1499238
Attachment #9414308 - Attachment description: Bug 1909409 - Use wide strings for paths in `nsIKeyValueService`. r?beth!,nika → Bug 1909409 - Canonicalize paths in `nsIKeyValueService`. r?nika!
Attachment #9414309 - Attachment description: Bug 1909409 - Upgrade `kvstore` to Rust 2018. r?nika! → Bug 1909409 - Upgrade `kvstore` to Rust 2021. r?nika!
Attachment #9414310 - Attachment description: Bug 1909409 - Implement an SQLite-backed `nsIKeyValueService`. r?mak!,nika!,beth!,janerik → Bug 1909409 - Implement an SQLite-backed `nsIKeyValueService`. r?mak!,nika!,beth,janerik
Attachment #9414311 - Attachment description: Bug 1909409 - Tests for the new SQLite-backed `nsIKeyValueService` implementation. r?mak!,beth!,janerik → Bug 1909409 - Expose the new SQLite-backed `nsIKeyValueService` to chrome JS callers. r?mak!,nika!,beth,janerik
Attachment #9414310 - Attachment description: Bug 1909409 - Implement an SQLite-backed `nsIKeyValueService`. r?mak!,nika!,beth,janerik → Bug 1909409 - Implement an SQLite-backed `nsIKeyValueService`. r?nika!,mak,beth,janerik
Attachment #9414310 - Attachment description: Bug 1909409 - Implement an SQLite-backed `nsIKeyValueService`. r?nika!,mak,beth,janerik → Bug 1909409 - Implement an SQLite-backed `nsIKeyValueService`. r=nika!,mak,beth,janerik
Attachment #9414311 - Attachment description: Bug 1909409 - Expose the new SQLite-backed `nsIKeyValueService` to chrome JS callers. r?mak!,nika!,beth,janerik → Bug 1909409 - Expose the new SQLite-backed `nsIKeyValueService` to chrome JS callers. r=mak!,nika!,beth,janerik
Pushed by lbutler@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d9dc6c190bdf Canonicalize paths in `nsIKeyValueService`. r=nika,media-playback-reviewers,padenot https://hg.mozilla.org/integration/autoland/rev/28c453c5e221 Upgrade `kvstore` to Rust 2021. r=nika https://hg.mozilla.org/integration/autoland/rev/5fee953eeba3 Implement an SQLite-backed `nsIKeyValueService`. r=nika https://hg.mozilla.org/integration/autoland/rev/882fc6b731f4 Expose the new SQLite-backed `nsIKeyValueService` to chrome JS callers. r=mak,nika
No longer blocks: 1499238

Hmm, it's weird that it didn't fail on Try: https://treeherder.mozilla.org/jobs?repo=try&revision=7ebd5908f639c27817f7b4b10c8b6c14a4d45288 I wonder if Try was using a different Rust toolchain?

std::num::NonZero was introduced in Rust 1.79.0, and our MSRV is 1.76.0, so that's definitely on me (sorry!)—but I am still curious why it didn't fail earlier!

Flags: needinfo?(lina)

(In reply to Lina Butler [:lina] from comment #7)

Hmm, it's weird that it didn't fail on Try: https://treeherder.mozilla.org/jobs?repo=try&revision=7ebd5908f639c27817f7b4b10c8b6c14a4d45288 I wonder if Try was using a different Rust toolchain?

std::num::NonZero was introduced in Rust 1.79.0, and our MSRV is 1.76.0, so that's definitely on me (sorry!)—but I am still curious why it didn't fail earlier!

Looking at your Try push, the two jobs that failed on autoland, didn't run on your Try run.

Pushed by lbutler@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/694080c9ab1b Canonicalize paths in `nsIKeyValueService`. r=nika,media-playback-reviewers,padenot https://hg.mozilla.org/integration/autoland/rev/50130de77981 Upgrade `kvstore` to Rust 2021. r=nika https://hg.mozilla.org/integration/autoland/rev/6539306bb3fd Implement an SQLite-backed `nsIKeyValueService`. r=nika https://hg.mozilla.org/integration/autoland/rev/11fbdbd02d5b Expose the new SQLite-backed `nsIKeyValueService` to chrome JS callers. r=mak,nika

(In reply to Sandor Molnar[:smolnar] from comment #8)

Looking at your Try push, the two jobs that failed on autoland, didn't run on your Try run.

I missed that 😬 Thanks! Should be all fixed up now 🤞

Duplicate of this bug: 1554316
Product: Toolkit → Core
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: