Each cursor holds a leveldb iterator, which holds onto a leveldb block. Blocks are generally small (32kb), but can be large if large keys / values are stored in them, because leveldb doesn't break keys/values across blocks.
Do we need to merge this back to older versions ?
I know we addressed the drive offline issue, but we may need to worry about other apps as well which may hit it.
#7: I would prefer not to merge this, unless the crash rate goes back up. While the fix CL is much smaller than I could have hoped for (props to dmurph@!), it still changes our performance profile in a non-trivial way, so it'd be nice to have it bake through the normal channel progression.
Also, keep in mind that the CL above wouldn't fix all the IndexedDB OOM crashes. That crash stack points to a site where we allocate (comparatively) larger blocks of memory, so an OOM is more likely to hit there than in most other callsites for memory allocators.
Comment 1 by jsb...@chromium.org
, Mar 20 2017Labels: -Pri-3 Pri-1
Owner: pwnall@chromium.org
Status: Assigned (was: Untriaged)