Skip to content

Commit

Permalink
leveldb: Disable block cache for in-memory db's.
Browse files Browse the repository at this point in the history
I/O for in-memory env's is already fast so reduce memory use by not using
a cache.

TBR=kinuko@chromium.org,megjablon@chromium.org,nyquist@chromium.org,zea@chromium.org,mvanouwerkerk@chromium.org,nhiroki@chromium.org,phajdan.jr@chromium.org

TBRing reviewers:
kinuko@chromium.org:
  chrome/browser/extensions/api/sync_file_system/*
  chrome/browser/sync_file_system/*
  content/browser/service_worker/service_worker_database.cc
megjablon@chromium.org:
  components/data_reduction_proxy/core/browser/data_store_impl.cc
nyquist@chromium.org:
  components/leveldb_proto/*
zea@chromium.org:
  components/sync/model_impl/model_type_store_backend.cc
mvanouwerkerk@chromium.org:
  content/browser/notifications/*
nhiroki@chromium.org:
  storage/browser/fileapi/quota/quota_backend_impl_unittest.cc
phajdan.jr@chromium.org:
  PRESUBMIT.py

Bug: 761398
Change-Id: I58884dc0bf98fec46d12227c96ac77107a17f034
Reviewed-on: https://chromium-review.googlesource.com/647329
Reviewed-by: Chris Mumford <cmumford@chromium.org>
Reviewed-by: Nicolas Zea <zea@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Commit-Queue: Chris Mumford <cmumford@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503866}
  • Loading branch information
cmumford authored and Commit Bot committed Sep 22, 2017
1 parent d6d2ff2 commit 13f84c7
Show file tree
Hide file tree
Showing 38 changed files with 148 additions and 88 deletions.
11 changes: 11 additions & 0 deletions PRESUBMIT.py
Original file line number Diff line number Diff line change
Expand Up @@ -409,6 +409,17 @@
r'^third_party/leveldatabase/.*\.(cc|h)$',
),
),
(
'leveldb::NewMemEnv',
(
'Instead of leveldb::NewMemEnv() use leveldb_chrome::NewMemEnv() from',
'third_party/leveldatabase/leveldb_chrome.h.',
),
True,
(
r'^third_party/leveldatabase/.*\.(cc|h)$',
),
),
(
'MessageLoop::QuitWhenIdleClosure',
(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
#include "extensions/test/extension_test_message_listener.h"
#include "extensions/test/result_catcher.h"
#include "storage/browser/quota/quota_manager.h"
#include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
#include "third_party/leveldatabase/src/include/leveldb/env.h"
#include "third_party/leveldatabase/leveldb_chrome.h"

namespace sync_file_system {

Expand Down Expand Up @@ -71,7 +70,7 @@ class SyncFileSystemTest : public extensions::PlatformAppBrowserTest,
}

void SetUpOnMainThread() override {
in_memory_env_.reset(leveldb::NewMemEnv(leveldb::Env::Default()));
in_memory_env_.reset(leveldb_chrome::NewMemEnv(leveldb::Env::Default()));
extensions::PlatformAppBrowserTest::SetUpOnMainThread();
ASSERT_TRUE(base_dir_.CreateUniqueTempDir());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,7 @@
#include "google_apis/drive/drive_api_error_codes.h"
#include "google_apis/drive/drive_api_parser.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
#include "third_party/leveldatabase/src/include/leveldb/env.h"
#include "third_party/leveldatabase/leveldb_chrome.h"

namespace sync_file_system {
namespace drive_backend {
Expand All @@ -59,7 +58,7 @@ class ConflictResolverTest : public testing::Test {

void SetUp() override {
ASSERT_TRUE(database_dir_.CreateUniqueTempDir());
in_memory_env_.reset(leveldb::NewMemEnv(leveldb::Env::Default()));
in_memory_env_.reset(leveldb_chrome::NewMemEnv(leveldb::Env::Default()));

std::unique_ptr<FakeDriveServiceWrapper> fake_drive_service(
new FakeDriveServiceWrapper);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,7 @@
#include "net/url_request/url_request_context_getter.h"
#include "storage/browser/fileapi/file_system_context.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
#include "third_party/leveldatabase/src/include/leveldb/env.h"
#include "third_party/leveldatabase/leveldb_chrome.h"

#define FPL(a) FILE_PATH_LITERAL(a)

Expand Down Expand Up @@ -87,7 +86,7 @@ class DriveBackendSyncTest : public testing::Test,

void SetUp() override {
ASSERT_TRUE(base_dir_.CreateUniqueTempDir());
in_memory_env_.reset(leveldb::NewMemEnv(leveldb::Env::Default()));
in_memory_env_.reset(leveldb_chrome::NewMemEnv(leveldb::Env::Default()));

io_task_runner_ = content::BrowserThread::GetTaskRunnerForThread(
content::BrowserThread::IO);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,8 @@
#include "base/strings/string_number_conversions.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/leveldatabase/env_chromium.h"
#include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
#include "third_party/leveldatabase/leveldb_chrome.h"
#include "third_party/leveldatabase/src/include/leveldb/db.h"
#include "third_party/leveldatabase/src/include/leveldb/env.h"

namespace sync_file_system {
namespace drive_backend {
Expand All @@ -33,7 +32,7 @@ class LevelDBWrapperTest : public testing::Test {

void SetUp() override {
ASSERT_TRUE(database_dir_.CreateUniqueTempDir());
in_memory_env_.reset(leveldb::NewMemEnv(leveldb::Env::Default()));
in_memory_env_.reset(leveldb_chrome::NewMemEnv(leveldb::Env::Default()));
InitializeLevelDB();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,7 @@
#include "content/public/test/test_browser_thread_bundle.h"
#include "google_apis/drive/drive_api_parser.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
#include "third_party/leveldatabase/src/include/leveldb/env.h"
#include "third_party/leveldatabase/leveldb_chrome.h"

namespace sync_file_system {
namespace drive_backend {
Expand All @@ -45,7 +44,7 @@ class ListChangesTaskTest : public testing::Test {

void SetUp() override {
ASSERT_TRUE(database_dir_.CreateUniqueTempDir());
in_memory_env_.reset(leveldb::NewMemEnv(leveldb::Env::Default()));
in_memory_env_.reset(leveldb_chrome::NewMemEnv(leveldb::Env::Default()));

std::unique_ptr<drive::FakeDriveService> fake_drive_service(
new drive::FakeDriveService);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,7 @@
#include "google_apis/drive/drive_api_error_codes.h"
#include "google_apis/drive/drive_api_parser.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
#include "third_party/leveldatabase/src/include/leveldb/env.h"
#include "third_party/leveldatabase/leveldb_chrome.h"

namespace sync_file_system {
namespace drive_backend {
Expand All @@ -60,7 +59,7 @@ class LocalToRemoteSyncerTest : public testing::Test {

void SetUp() override {
ASSERT_TRUE(database_dir_.CreateUniqueTempDir());
in_memory_env_.reset(leveldb::NewMemEnv(leveldb::Env::Default()));
in_memory_env_.reset(leveldb_chrome::NewMemEnv(leveldb::Env::Default()));

std::unique_ptr<FakeDriveServiceWrapper> fake_drive_service(
new FakeDriveServiceWrapper);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
#include "storage/common/fileapi/file_system_util.h"
#include "third_party/leveldatabase/env_chromium.h"
#include "third_party/leveldatabase/src/include/leveldb/db.h"
#include "third_party/leveldatabase/src/include/leveldb/env.h"
#include "third_party/leveldatabase/src/include/leveldb/status.h"
#include "third_party/leveldatabase/src/include/leveldb/write_batch.h"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,8 @@
#include "chrome/browser/sync_file_system/drive_backend/metadata_database.pb.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/leveldatabase/env_chromium.h"
#include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
#include "third_party/leveldatabase/leveldb_chrome.h"
#include "third_party/leveldatabase/src/include/leveldb/db.h"
#include "third_party/leveldatabase/src/include/leveldb/env.h"
#include "third_party/leveldatabase/src/include/leveldb/status.h"

namespace sync_file_system {
Expand All @@ -42,7 +41,7 @@ class MetadataDatabaseIndexOnDiskTest : public testing::Test {

void SetUp() override {
ASSERT_TRUE(database_dir_.CreateUniqueTempDir());
in_memory_env_.reset(leveldb::NewMemEnv(leveldb::Env::Default()));
in_memory_env_.reset(leveldb_chrome::NewMemEnv(leveldb::Env::Default()));
db_ = InitializeLevelDB();
index_ = MetadataDatabaseIndexOnDisk::Create(db_.get());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,8 @@
#include "chrome/browser/sync_file_system/drive_backend/metadata_database.pb.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/leveldatabase/env_chromium.h"
#include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
#include "third_party/leveldatabase/leveldb_chrome.h"
#include "third_party/leveldatabase/src/include/leveldb/db.h"
#include "third_party/leveldatabase/src/include/leveldb/env.h"

namespace sync_file_system {
namespace drive_backend {
Expand Down Expand Up @@ -70,7 +69,7 @@ std::unique_ptr<DatabaseContents> CreateTestDatabaseContents() {
class MetadataDatabaseIndexTest : public testing::Test {
public:
void SetUp() override {
in_memory_env_.reset(leveldb::NewMemEnv(leveldb::Env::Default()));
in_memory_env_.reset(leveldb_chrome::NewMemEnv(leveldb::Env::Default()));
InitializeLevelDB();

contents_ = CreateTestDatabaseContents();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,8 @@
#include "google_apis/drive/drive_api_parser.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/leveldatabase/env_chromium.h"
#include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
#include "third_party/leveldatabase/leveldb_chrome.h"
#include "third_party/leveldatabase/src/include/leveldb/db.h"
#include "third_party/leveldatabase/src/include/leveldb/env.h"
#include "third_party/leveldatabase/src/include/leveldb/write_batch.h"

#define FPL(a) FILE_PATH_LITERAL(a)
Expand Down Expand Up @@ -200,7 +199,7 @@ class MetadataDatabaseTest : public testing::TestWithParam<bool> {

void SetUp() override {
ASSERT_TRUE(database_dir_.CreateUniqueTempDir());
in_memory_env_.reset(leveldb::NewMemEnv(leveldb::Env::Default()));
in_memory_env_.reset(leveldb_chrome::NewMemEnv(leveldb::Env::Default()));
}

void TearDown() override { DropDatabase(); }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,8 @@
#include "google_apis/drive/drive_api_parser.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/leveldatabase/env_chromium.h"
#include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
#include "third_party/leveldatabase/leveldb_chrome.h"
#include "third_party/leveldatabase/src/include/leveldb/db.h"
#include "third_party/leveldatabase/src/include/leveldb/env.h"

namespace sync_file_system {
namespace drive_backend {
Expand All @@ -52,7 +51,7 @@ class RegisterAppTaskTest : public testing::Test {

void SetUp() override {
ASSERT_TRUE(database_dir_.CreateUniqueTempDir());
in_memory_env_.reset(leveldb::NewMemEnv(leveldb::Env::Default()));
in_memory_env_.reset(leveldb_chrome::NewMemEnv(leveldb::Env::Default()));

std::unique_ptr<drive::FakeDriveService> fake_drive_service(
new drive::FakeDriveService);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,7 @@
#include "content/public/test/test_browser_thread_bundle.h"
#include "google_apis/drive/drive_api_error_codes.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
#include "third_party/leveldatabase/src/include/leveldb/env.h"
#include "third_party/leveldatabase/leveldb_chrome.h"

namespace sync_file_system {
namespace drive_backend {
Expand All @@ -56,7 +55,7 @@ class RemoteToLocalSyncerTest : public testing::Test {

void SetUp() override {
ASSERT_TRUE(database_dir_.CreateUniqueTempDir());
in_memory_env_.reset(leveldb::NewMemEnv(leveldb::Env::Default()));
in_memory_env_.reset(leveldb_chrome::NewMemEnv(leveldb::Env::Default()));

std::unique_ptr<drive::FakeDriveService> fake_drive_service(
new drive::FakeDriveService);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,7 @@
#include "content/public/test/test_browser_thread_bundle.h"
#include "google_apis/drive/drive_api_parser.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
#include "third_party/leveldatabase/src/include/leveldb/env.h"
#include "third_party/leveldatabase/leveldb_chrome.h"

namespace sync_file_system {
namespace drive_backend {
Expand All @@ -53,7 +52,7 @@ class SyncEngineInitializerTest : public testing::Test {

void SetUp() override {
ASSERT_TRUE(database_dir_.CreateUniqueTempDir());
in_memory_env_.reset(leveldb::NewMemEnv(leveldb::Env::Default()));
in_memory_env_.reset(leveldb_chrome::NewMemEnv(leveldb::Env::Default()));

std::unique_ptr<drive::FakeDriveService> fake_drive_service(
new drive::FakeDriveService);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,7 @@
#include "extensions/common/extension_set.h"
#include "extensions/common/value_builder.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
#include "third_party/leveldatabase/src/include/leveldb/env.h"
#include "third_party/leveldatabase/leveldb_chrome.h"

namespace sync_file_system {
namespace drive_backend {
Expand Down Expand Up @@ -106,7 +105,7 @@ class SyncWorkerTest : public testing::Test,

void SetUp() override {
ASSERT_TRUE(profile_dir_.CreateUniqueTempDir());
in_memory_env_.reset(leveldb::NewMemEnv(leveldb::Env::Default()));
in_memory_env_.reset(leveldb_chrome::NewMemEnv(leveldb::Env::Default()));

extension_service_.reset(new MockExtensionService);
std::unique_ptr<drive::DriveServiceInterface> fake_drive_service(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@
#include "storage/browser/fileapi/file_system_operation_context.h"
#include "storage/common/fileapi/file_system_util.h"
#include "third_party/leveldatabase/env_chromium.h"
#include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
#include "third_party/leveldatabase/src/include/leveldb/db.h"
#include "third_party/leveldatabase/src/include/leveldb/env.h"
#include "third_party/leveldatabase/src/include/leveldb/write_batch.h"

using storage::FileSystemContext;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
#include "storage/browser/quota/quota_manager.h"
#include "storage/browser/test/mock_blob_url_request_context.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
#include "third_party/leveldatabase/src/include/leveldb/env.h"
#include "third_party/leveldatabase/leveldb_chrome.h"

using content::MockBlobURLRequestContext;
using content::ScopedTextBlob;
Expand All @@ -40,7 +39,7 @@ class LocalFileChangeTrackerTest : public testing::Test {
public:
LocalFileChangeTrackerTest()
: thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP),
in_memory_env_(leveldb::NewMemEnv(leveldb::Env::Default())),
in_memory_env_(leveldb_chrome::NewMemEnv(leveldb::Env::Default())),
file_system_(GURL("http://example.com"),
in_memory_env_.get(),
base::ThreadTaskRunnerHandle::Get().get(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@
#include "storage/browser/fileapi/isolated_context.h"
#include "storage/browser/test/mock_blob_url_request_context.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
#include "third_party/leveldatabase/src/include/leveldb/env.h"
#include "third_party/leveldatabase/leveldb_chrome.h"

#define FPL FILE_PATH_LITERAL

Expand Down Expand Up @@ -68,7 +67,7 @@ class LocalFileSyncContextTest : public testing::Test {
void SetUp() override {
RegisterSyncableFileSystem();
ASSERT_TRUE(dir_.CreateUniqueTempDir());
in_memory_env_.reset(leveldb::NewMemEnv(leveldb::Env::Default()));
in_memory_env_.reset(leveldb_chrome::NewMemEnv(leveldb::Env::Default()));

ui_task_runner_ = base::ThreadTaskRunnerHandle::Get();
io_task_runner_ = BrowserThread::GetTaskRunnerForThread(BrowserThread::IO);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,7 @@
#include "storage/browser/fileapi/file_system_context.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
#include "third_party/leveldatabase/src/include/leveldb/env.h"
#include "third_party/leveldatabase/leveldb_chrome.h"

using content::BrowserThread;
using storage::FileSystemURL;
Expand Down Expand Up @@ -114,7 +113,7 @@ class LocalFileSyncServiceTest

void SetUp() override {
ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
in_memory_env_.reset(leveldb::NewMemEnv(leveldb::Env::Default()));
in_memory_env_.reset(leveldb_chrome::NewMemEnv(leveldb::Env::Default()));

file_system_.reset(new CannedSyncableFileSystem(
GURL(kOrigin), in_memory_env_.get(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,7 @@
#include "storage/browser/fileapi/file_system_operation_runner.h"
#include "storage/browser/test/mock_blob_url_request_context.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
#include "third_party/leveldatabase/src/include/leveldb/env.h"
#include "third_party/leveldatabase/leveldb_chrome.h"

using storage::FileSystemOperation;
using storage::FileSystemURL;
Expand All @@ -56,7 +55,7 @@ class SyncableFileOperationRunnerTest : public testing::Test {
// operations in the tests.
SyncableFileOperationRunnerTest()
: thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP),
in_memory_env_(leveldb::NewMemEnv(leveldb::Env::Default())),
in_memory_env_(leveldb_chrome::NewMemEnv(leveldb::Env::Default())),
file_system_(GURL("http://example.com"),
in_memory_env_.get(),
base::ThreadTaskRunnerHandle::Get().get(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@
#include "storage/common/fileapi/file_system_types.h"
#include "storage/common/quota/quota_types.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
#include "third_party/leveldatabase/src/include/leveldb/env.h"
#include "third_party/leveldatabase/leveldb_chrome.h"

using content::SandboxFileSystemTestHelper;
using storage::FileSystemContext;
Expand All @@ -38,7 +37,7 @@ namespace sync_file_system {
class SyncableFileSystemTest : public testing::Test {
public:
SyncableFileSystemTest()
: in_memory_env_(leveldb::NewMemEnv(leveldb::Env::Default())),
: in_memory_env_(leveldb_chrome::NewMemEnv(leveldb::Env::Default())),
file_system_(GURL("http://example.com/"),
in_memory_env_.get(),
base::ThreadTaskRunnerHandle::Get().get(),
Expand Down
Loading

0 comments on commit 13f84c7

Please sign in to comment.