Closed Bug 965532 Opened 6 years ago Closed 6 years ago

indexedDB temporary storage global limit


(Core :: Storage: IndexedDB, defect)

26 Branch
Not set





(Reporter: guypaskar, Unassigned)



User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:26.0) Gecko/20100101 Firefox/26.0 (Beta/Release)
Build ID: 20131205075310

Steps to reproduce:

After speaking with some of the implementers of ff IndexedDB I would like to suggest a change for deciding the global storage limit on IndexedDB temporary global limit to be more coherent with chrome's file system API temporary storage limits to make it easier on web developers that use temp storage for the same purposes

Actual results:

right now firefox's IndexedDB temporary storage (aka shared pool) global limit is as follow:
// The tier scheme:
882   // .5 % of space above 25 GB
883   // 1 % of space between 7GB -> 25 GB
884   // 5 % of space between 500 MB -> 7 GB
885   // gTemporaryStorageLimitRatio of space up to 500 MB

Expected results:

I would like to suggest the following scheme:

TEMPORARY storage has a default quota of 50% of available disk as a shared pool. (50GB => 25GB) (Not restricted to 1GB anymore)
[To be more specific, TEMP quota is calucalated by (remaining disk space + TEMP storage space) * 50%. Therefore if apps are using 25GB TEMP storage in total and the current remaining disk space is 25GB that’s already full.]
Each application has a limitation to have 20% of the available TEMPORARY storage pool (i.e. 20% of 50% of available disk). (Not restricted to 5Mb anymore)
When TEMPORARY storage quota is exceeded, all the data (incl. AppCache, IndexedDB, WebSQL, File System API) stored for oldest used origin gets deleted .
[Note: since each app can only use up to 20% of the pool, this won’t happen very frequently unless the user has more than 5 active offline apps.]
If app tries to make a modification which will result in exceeding TEMPORARY storage quota (20% of pool), an error will be thrown.
Each application can query how much data is stored or how much more space is available for the app by calling queryUsageAndQuota() method of Quota API.
Requesting more quota against TEMPORARY storage doesn’t do anything.
Requesting quota for TEMPORARY storage using webkitRequestFileSystem() doesn’t actually allocate / change quota.
Component: Untriaged → Search
Component: Search → DOM: IndexedDB
Product: Firefox → Core
Sounds reasonable. It will make temp storage much more useful.
I agree it will be much more useful. Also it will be coherent with Google/Opera definitions of temporary storage limitations so, as a developer, I won't have to think to much on how the calculations are in ff as opposed to other browsers.
See Also: → 968272
Yup. Commented on 968272 as well.
We'll tackle this in bug 968272.
Closed: 6 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 968272
You need to log in before you can comment on or make changes to this bug.