+94
−28
+3
−0
Loading
This re-lands D311986, backed out from esr153 in b81b4a1b for crashing every dom/cache xpcshell migration test, and squashes in the Bug 2009295 schema migration it depends on. Root cause: D311986 bumps kLatestSchemaVersion from 29 to 31 but registers only MigrateFrom30To31. Schema version 30 comes from Bug 2009295 (D278397), which adds the response_headers(entry_id, name) index and was never uplifted to esr153. With nothing registered for version 29, Migrate() walked a database up to 29, found no matching entry in sMigrationList, and looped without the version advancing: Assertion failure: currentVersion > lastVersion, at dom/cache/DBSchema.cpp:2659 On the release channel MOZ_DIAGNOSTIC_ASSERT is compiled out, so this is an infinite loop on the Cache IO thread rather than a crash. Every existing esr153 profile is at schema 29, so it would have hung Cache API and Service Worker storage for upgrading users, not just broken tests. Squashed commits: Bug 2009295 (D278397), by Marcelo Camargo - closes the gap at version 29. Uplifted whole rather than schema-only so that versions 30 and 31 mean the same thing on esr153 as on mozilla-central. Profiles are shared across channels, and a partial uplift would leave an esr153 database at version 31 permanently missing the index, with no migration left to ever add it. Bug 2047853 (D311986) - unchanged from the original uplift. With both applied, dom/cache/DBSchema.cpp matches mozilla-central except for the unrelated nsID::Parse signature change from Bug 2054573. Original Revision: https://phabricator.services.mozilla.com/D278397 Original Revision: https://phabricator.services.mozilla.com/D311986 Differential Revision: https://phabricator.services.mozilla.com/D317102