New issue
Advanced search Search tips

Issue 751816 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Feature

Blocking:
issue 750751
issue 749996



Sign in to add a comment

Have all leveldb databases use a shared block cache

Project Member Reported by cmumford@chromium.org, Aug 2 2017

Issue description

A change landed in https://chromium-review.googlesource.com/c/567583 to use shared block caches for levendb's. One shared cache was used for leveldb_proto::LevelDB, and a second shared cache for Indexed DB's content::LevelDBDatabase.

The desire is to go further and use only one (possibly two) shared block caches throughout all of Chromium.
 
Blocking: 750751
Status: Started (was: Assigned)
Blocking: 749996
Project Member

Comment 5 by bugdroid1@chromium.org, Aug 16 2017

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

commit 960b992576af4ded24dd6b572f907496e44f2a04
Author: Chris Mumford <cmumford@chromium.org>
Date: Wed Aug 16 18:30:03 2017

[leveldb]: Using shared block caches for all leveldb's.

This change introduces two static caches: Default and Web. Databases
that are used by web facing API's (Indexed DB, DOM Storage, etc.)
use their own cache in order to prevent data intensive (or outright
malicious) pages from flushing the Chromium database cache resulting
in a slowdown or denial of service.

By default the two caches are each 8MB, but on low end devices
(see base::SysInfo::IsLowEndDevice()) a single 1MB cache is used.

Bug:  751816 
Change-Id: I6c8d95cc94ecab4f20755004aa3a4ca70be0f5f8
Reviewed-on: https://chromium-review.googlesource.com/599014
Commit-Queue: Chris Mumford <cmumford@chromium.org>
Reviewed-by: Min Qin <qinmin@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Reviewed-by: Elliot Glaysher <erg@chromium.org>
Reviewed-by: Michael Nordman <michaeln@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Reviewed-by: Jan Krcal <jkrcal@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494873}
[modify] https://crrev.com/960b992576af4ded24dd6b572f907496e44f2a04/chrome/browser/budget_service/budget_database.cc
[modify] https://crrev.com/960b992576af4ded24dd6b572f907496e44f2a04/components/download/internal/download_store.cc
[modify] https://crrev.com/960b992576af4ded24dd6b572f907496e44f2a04/components/leveldb/leveldb_service_impl.cc
[modify] https://crrev.com/960b992576af4ded24dd6b572f907496e44f2a04/components/leveldb/public/interfaces/leveldb.mojom
[modify] https://crrev.com/960b992576af4ded24dd6b572f907496e44f2a04/components/leveldb_proto/leveldb_database.cc
[modify] https://crrev.com/960b992576af4ded24dd6b572f907496e44f2a04/components/leveldb_proto/options.h
[modify] https://crrev.com/960b992576af4ded24dd6b572f907496e44f2a04/components/leveldb_proto/proto_database.h
[modify] https://crrev.com/960b992576af4ded24dd6b572f907496e44f2a04/components/leveldb_proto/proto_database_impl_unittest.cc
[modify] https://crrev.com/960b992576af4ded24dd6b572f907496e44f2a04/components/ntp_snippets/remote/remote_suggestions_database.cc
[modify] https://crrev.com/960b992576af4ded24dd6b572f907496e44f2a04/content/browser/dom_storage/local_storage_context_mojo.cc
[modify] https://crrev.com/960b992576af4ded24dd6b572f907496e44f2a04/content/browser/dom_storage/session_storage_database.cc
[modify] https://crrev.com/960b992576af4ded24dd6b572f907496e44f2a04/content/browser/indexed_db/leveldb/leveldb_database.cc
[modify] https://crrev.com/960b992576af4ded24dd6b572f907496e44f2a04/content/browser/notifications/notification_database.cc
[modify] https://crrev.com/960b992576af4ded24dd6b572f907496e44f2a04/content/browser/service_worker/service_worker_database.cc
[modify] https://crrev.com/960b992576af4ded24dd6b572f907496e44f2a04/third_party/leveldatabase/env_chromium.cc
[modify] https://crrev.com/960b992576af4ded24dd6b572f907496e44f2a04/third_party/leveldatabase/env_chromium.h

Status: Fixed (was: Started)

Sign in to add a comment