Closed
Bug 943798
Opened 12 years ago
Closed 8 years ago
[email] Asynchronously stream downloaded attachments to disk/IndexedDB using FileHandle to reduce memory usage, allow downloading huge attachments
Categories
(Firefox OS Graveyard :: Gaia::E-Mail, defect, P2)
Tracking
(tracking-b2g:backlog, b2g1828+)
People
(Reporter: asuth, Unassigned)
References
Details
(Keywords: perf, Whiteboard: [c=memory p= s= u=] [MemShrink:P2])
This is being spun off of bug 894834 about the e-mail app downloading if it tries to download large attachments. As mentioned in https://bugzilla.mozilla.org/show_bug.cgi?id=894834#c2 and the thread referenced at https://groups.google.com/d/msg/mozilla.dev.b2g/N8aHf8AN1mk/qgIxJ9CwoRcJ the biggest problem to solving this the right way is that we can't use FileHandle with IndexedDB in B2G sub-processes to incrementally write the file to disk.
Note that there are various things we can do from a purely JS perspective to reduce our peak memory footprint given platform limitations. And there are also workarounds we can perform like writing the attachments to disk in medium sized chunks (ex: 512KiB) and then later join them up into a single Blob by creating a super-Blob, analogous to what we do in bug 871897 for streaming send. Addressing this in platform is probably the best use of manpower.
Note that we can do some partial work on this bug to reduce our memory footprint before having the full platform support; the changes are synergistic. (However we should not make those changes in JS until we've changes our MIME parser situation so the effort doesn't need to happen twice, etc.)
Updated•12 years ago
|
blocking-b2g: --- → 1.3?
Reporter | ||
Comment 2•12 years ago
|
||
For triage: the platform changes required for this are likely non-trivial and seem risky for uplift to the 1.3 branch in the train model. Suggest making sure this is in the product queue for the platform team and making sure they understand this impacts e-mail in this way and leaving it to them to do the heavy lifting.
Comment 3•12 years ago
|
||
triage: cannot block on this as we are fundamentally blocked by platform issues (bug 771288). tracking this as it would be good to have but cannot make progress at this time
blocking-b2g: 1.3? → -
tracking-b2g18:
--- → 28+
Updated•12 years ago
|
blocking-b2g: - → backlog
Reporter | ||
Comment 4•11 years ago
|
||
Add the DeviceStorage variants bug 859696 and bug 855952 since we could also use DeviceStorage for these purposes. DeviceStorage requires slightly more legwork for cleanup purposes, but in all cases we do need some crash/closed-recovery logic for partial downloads.
![]() |
||
Updated•11 years ago
|
Whiteboard: [MemShrink:P2]
Updated•11 years ago
|
Keywords: perf
OS: Linux → Gonk (Firefox OS)
Priority: -- → P2
Hardware: x86_64 → ARM
Whiteboard: [MemShrink:P2] → [c=memory p= s= u=] [MemShrink:P2]
Assignee | ||
Updated•10 years ago
|
blocking-b2g: backlog → ---
tracking-b2g:
--- → backlog
Comment 5•8 years ago
|
||
Closing out old Firefox OS specific memshrink bugs.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•