gecko-dev/dom/quota
Jan Varga 7d0fd78cda Bug 1722668 - Speed up temporary storage initialization by archiving unaccessed origin directories; r=jari
This patch introduces a new notion of unaccessed origins. An origin is
considered as unaccessed if its age is older than a threshold (controlled by a
new preference, currently set to 13 months). Unaccessed origins are collected
during quota info loading.
When quota info loading is finished we check if it took a long time (controlled
by a new preference, currently set to 21s) and eventually archive unaccessed
origins which should speed up temporary storage initialization in a new
session.
Archiving consits of creating a new directory (archive) under storage/archives/0
directory (the name is based on the current date) and moving unaccessed origin
directories to the archive.
Once the patch lands, we will be monitoring QM_QUOTA_INFO_LOAD_TIME_V0
telemetry (quota info load time) and eventually lower down the preference for
long quota info load time.
If there are no issues, the archiving will be replaced with a hard removal of
unaccessed origins and also of the archives which were created in the meantime.

Differential Revision: https://phabricator.services.mozilla.com/D123049
2021-09-04 21:54:53 +00:00
..
scripts Bug 1711703: Ensure we split stacks before errors after warnings. r=dom-storage-reviewers,janv DONTBUILD 2021-06-03 17:15:51 +00:00
test Bug 1722668 - Speed up temporary storage initialization by archiving unaccessed origin directories; r=jari 2021-09-04 21:54:53 +00:00
ActorsChild.cpp
ActorsChild.h
ActorsParent.cpp Bug 1722668 - Speed up temporary storage initialization by archiving unaccessed origin directories; r=jari 2021-09-04 21:54:53 +00:00
ActorsParent.h Bug 1713820 - Move QM_ENABLE_SCOPED_LOG_EXTRA_INFO definition to Config.h; r=dom-storage-reviewers,jstutte 2021-06-08 16:27:29 +00:00
CachingDatabaseConnection.cpp Bug 1713820 - Use QM_SCOPED_LOG_EXTRA_INFO_ENABLED in CachingDatabaseConnection instead of defined(EARLY_BETA_OR_EARLIER) || defined(DEBUG); r=dom-storage-reviewers,jstutte 2021-06-08 16:27:30 +00:00
CachingDatabaseConnection.h Bug 1718190 - QM: Move ScopedLogExtraInfo into own h/cpp files; r=dom-storage-reviewers,jstutte 2021-06-25 10:21:27 +00:00
CheckedUnsafePtr.h Bug 1519636 - Initial reformat of C/C++ code with clang-format version 12.0.0. r=sylvestre 2021-05-10 07:15:07 +00:00
CipherStrategy.h
Client.cpp Bug 1715144 - Part 1: Stop adding /ipc/glue to LOCAL_INCLUDES when including chromium-config.mozbuild, r=ipc-reviewers,necko-reviewers,mccr8,valentin 2021-06-09 04:56:48 +00:00
Client.h Bug 1723050 - Part 23: Replace typedef by using in dom/quota/ r=dom-storage-reviewers,janv 2021-08-16 17:05:42 +00:00
ClientImpl.h
CommonMetadata.h Bug 1697115 - Rationalize QuotaManager::DecreaseUsageForClient arguments; r=dom-storage-reviewers,sg 2021-03-17 06:56:39 +00:00
Config.h Bug 1713820 - Enable QM_TRY reporting to the browser console in release builds; r=dom-storage-reviewers,jstutte 2021-06-08 16:27:32 +00:00
DecryptingInputStream.cpp
DecryptingInputStream.h
DecryptingInputStream_impl.h
DirectoryLock.h Bug 1690025 - Move and rename DirectoryLock::Specialize to UniversalDirectoryLock::SpecializeForClient; r=dom-storage-reviewers,asuth 2021-05-02 09:57:15 +00:00
DirectoryLockImpl.cpp Bug 1690025 - Move and rename DirectoryLock::Specialize to UniversalDirectoryLock::SpecializeForClient; r=dom-storage-reviewers,asuth 2021-05-02 09:57:15 +00:00
DirectoryLockImpl.h Bug 1690025 - Move and rename DirectoryLock::Specialize to UniversalDirectoryLock::SpecializeForClient; r=dom-storage-reviewers,asuth 2021-05-02 09:57:15 +00:00
DummyCipherStrategy.h
EncryptedBlock.h
EncryptingOutputStream.cpp
EncryptingOutputStream.h
EncryptingOutputStream_impl.h
FileStreams.cpp Bug 1722892 - Replace NS_ASSERTION uses in FileStreams.cpp r=janv,dom-storage-reviewers 2021-08-03 02:47:22 +00:00
FileStreams.h Bug 1686031 - Rename OriginMetadata.h to CommonMetadata.h; r=dom-storage-reviewers,sg 2021-03-11 05:53:17 +00:00
FirstInitializationAttempts.h Bug 1719811 - QM: Replace FirstInitializationAttempt method with WithFirstInitializationAttempt; r=dom-storage-reviewers,asuth 2021-08-03 03:24:19 +00:00
FirstInitializationAttemptsImpl.h Bug 1719811 - QM: Remove FirstInitializationAttemptPending method from FirstInitializationAttempts class; r=dom-storage-reviewers,asuth 2021-08-03 03:24:19 +00:00
Flatten.h
IPCStreamCipherStrategy.h Bug 1641178 - Add NSSCipherStrategy. r=dom-workers-and-storage-reviewers,jcj,janv 2021-03-12 09:31:57 +00:00
InitializationTypes.cpp Bug 1716568 - Add support for origin based first initialization attempts handling to InitializationInfo; r=dom-storage-reviewers,asuth 2021-06-23 21:26:10 +00:00
InitializationTypes.h Bug 1719281 - QM: Execute initializations in ExecuteInitialization() for real; r=dom-storage-reviewers,asuth 2021-07-31 12:37:36 +00:00
MemoryOutputStream.cpp
MemoryOutputStream.h
NSSCipherStrategy.cpp Bug 1641178 - Add NSSCipherStrategy. r=dom-workers-and-storage-reviewers,jcj,janv 2021-03-12 09:31:57 +00:00
NSSCipherStrategy.h Bug 1641178 - Add NSSCipherStrategy. r=dom-workers-and-storage-reviewers,jcj,janv 2021-03-12 09:31:57 +00:00
OriginScope.h
PQuota.ipdl
PQuotaRequest.ipdl
PQuotaUsageRequest.ipdl
PersistenceType.cpp
PersistenceType.h
QMResult.cpp Bug 1709352 - Support error stacks only in EARLY_BETA_OR_EARLIER) || DEBUG builds; r=dom-storage-reviewers,jstutte 2021-05-25 09:06:11 +00:00
QMResult.h Bug 1724897 - QM: Introduce QM_TO_RESULT sub-macro; r=jari 2021-08-10 13:59:05 +00:00
QMResultInlines.h Bug 1724895 - QM: Introduce type alias for Result<Ok, QMResult>; r=jari 2021-08-10 13:59:04 +00:00
QuotaCommon.cpp Bug 1725145 - fixes in dom for win in non unified env. r=emilio 2021-08-25 10:46:15 +00:00
QuotaCommon.h Bug 1711657 - Rename Note to Info in Severity enum and QM_TRY macros. r=dom-storage-reviewers,janv 2021-08-04 09:39:55 +00:00
QuotaManager.h Bug 1722668 - Speed up temporary storage initialization by archiving unaccessed origin directories; r=jari 2021-09-04 21:54:53 +00:00
QuotaManagerService.cpp
QuotaManagerService.h Bug 1723050 - Part 23: Replace typedef by using in dom/quota/ r=dom-storage-reviewers,janv 2021-08-16 17:05:42 +00:00
QuotaObject.h
QuotaRequests.cpp
QuotaRequests.h
QuotaResults.cpp
QuotaResults.h
ScopedLogExtraInfo.cpp Bug 1718190 - QM: Move ScopedLogExtraInfo into own h/cpp files; r=dom-storage-reviewers,jstutte 2021-06-25 10:21:27 +00:00
ScopedLogExtraInfo.h Bug 1718190 - QM: Move ScopedLogExtraInfo into own h/cpp files; r=dom-storage-reviewers,jstutte 2021-06-25 10:21:27 +00:00
SerializationHelpers.h
StorageManager.cpp
StorageManager.h
UsageInfo.h
components.conf
moz.build Bug 1718190 - QM: Move ScopedLogExtraInfo into own h/cpp files; r=dom-storage-reviewers,jstutte 2021-06-25 10:21:27 +00:00
nsIQuotaCallbacks.idl
nsIQuotaManagerService.idl
nsIQuotaRequests.idl
nsIQuotaResults.idl
nsIndexedDBProtocolHandler.cpp
nsIndexedDBProtocolHandler.h