New issue
Advanced search Search tips

Issue 829410 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 1
Type: Bug

Blocking:
issue 829146



Sign in to add a comment

Blob system isn't paging blobs to disk

Project Member Reported by mek@chromium.org, Apr 5 2018

Issue description

Looking at Storage.Blob.MaxDiskSpace histogram, this is pretty much 0 for 99.97% of people, and thus the blob system effectively isn't paging anything to disk...
 

Comment 1 by mek@chromium.org, Apr 5 2018

Blocking: 829146

Comment 2 by mek@chromium.org, Apr 5 2018

Well, maybe my title isn't accurate, because there seem to be at least two bugs interacting here. For whatever reason effective_max_disk_space is initially set to 0 (as shown by the MaxDiskSpace histogram).

But what happens when it is set to 0, is that the first clause of the while loop in MaybeEvict... is always true ("total_memory_usage > effective_max_disk_space"), and we completely ignore the disk_used_ comparison. I have no idea what that condition is actually for though, since it doesn't seem to make sense to me to compare memory usage to disk space...
Project Member

Comment 3 by bugdroid1@chromium.org, Apr 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/780cf98130ff14c897703bcdbcc2ef03d787fbe9

commit 780cf98130ff14c897703bcdbcc2ef03d787fbe9
Author: Daniel Murphy <dmurph@chromium.org>
Date: Fri Apr 06 21:06:11 2018

[BlobStorage] Fix disk space query, stop evicting everything

It looks like we were querying disk space on a non-existant directory.
Instead create the directory first. Then, remove the if clause that
caused us to evict everything when we trigger eviction.

Bug:  829410 
Change-Id: I0b20f9cbfeecb2896841a271c83355b132aa18fb
Reviewed-on: https://chromium-review.googlesource.com/998523
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Commit-Queue: Daniel Murphy <dmurph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548927}
[modify] https://crrev.com/780cf98130ff14c897703bcdbcc2ef03d787fbe9/storage/browser/blob/blob_memory_controller.cc

Comment 4 by dmu...@chromium.org, Apr 10 2018

Labels: Merge-Request-66
Request merge to m66 - this is probably breaking blobs on Android, and we've been pushing way too many blobs to disk on Windows. It has been in canary for a couple days, seems to be working ok.

Very small change.
Project Member

Comment 5 by sheriffbot@chromium.org, Apr 10 2018

Labels: -Merge-Request-66 Merge-Review-66 Hotlist-Merge-Review
This bug requires manual review: We are only 6 days from stable.
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), josafat@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 6 by cmasso@google.com, Apr 10 2018

Adbul, can you take a look?

Comment 7 by dmu...@chromium.org, Apr 11 2018

See this histogram for numbers:
https://uma.googleplex.com/p/chrome/histograms/?endDate=20180409&dayCount=1&histograms=Storage.Blob.BrokenReason&fixupData=true&showMax=true&filters=channel%2Ceq%2C4%2Cplatform%2Ceq%2CA%2Cisofficial%2Ceq%2CTrue&implicitFilters=isofficial

We're getting ~ 500,000 blobs broken because we don't have enough memory - most of these wouldn't be broken if paging to disk was working.

Some would definitely still be broken if disk is full too, but should be a much smaller percentage.
Labels: -Merge-Review-66 Merge-Approved-66
Approving merge to M66. Branch:3359

Why are we discovering these issues so late in the beta cycle?

Comment 9 by dmu...@chromium.org, Apr 11 2018

Blobs are really good at being opaque, and they fail gracefully for websites. Things don't crash, but they just won't be able to make as many blobs as they need.

We weren't monitoring the histograms unfortunately. It was my fault.
Project Member

Comment 10 by bugdroid1@chromium.org, Apr 11 2018

Labels: -merge-approved-66 merge-merged-3359
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/573568785d1cfa43f1efced2ef451d69f8610116

commit 573568785d1cfa43f1efced2ef451d69f8610116
Author: Daniel Murphy <dmurph@chromium.org>
Date: Wed Apr 11 18:12:45 2018

[BlobStorage] Fix disk space query, stop evicting everything

It looks like we were querying disk space on a non-existant directory.
Instead create the directory first. Then, remove the if clause that
caused us to evict everything when we trigger eviction.

Bug:  829410 
Change-Id: I0b20f9cbfeecb2896841a271c83355b132aa18fb
Reviewed-on: https://chromium-review.googlesource.com/998523
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Commit-Queue: Daniel Murphy <dmurph@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#548927}(cherry picked from commit 780cf98130ff14c897703bcdbcc2ef03d787fbe9)
Reviewed-on: https://chromium-review.googlesource.com/1007923
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Cr-Commit-Position: refs/branch-heads/3359@{#685}
Cr-Branched-From: 66afc5e5d10127546cc4b98b9117aff588b5e66b-refs/heads/master@{#540276}
[modify] https://crrev.com/573568785d1cfa43f1efced2ef451d69f8610116/storage/browser/blob/blob_memory_controller.cc

Status: Fixed (was: Assigned)

Sign in to add a comment