Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: sync/syncable/on_disk_directory_backing_store.cc

Issue 1016563005: Increase page size for SyncData DB from 4K to maximum supported 32K (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sync/syncable/directory_backing_store_unittest.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "sync/syncable/on_disk_directory_backing_store.h" 5 #include "sync/syncable/on_disk_directory_backing_store.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/stl_util.h" 8 #include "base/stl_util.h"
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "sync/syncable/syncable-inl.h" 10 #include "sync/syncable/syncable-inl.h"
(...skipping 11 matching lines...) Expand all
22 }; 22 };
23 23
24 } // namespace 24 } // namespace
25 25
26 OnDiskDirectoryBackingStore::OnDiskDirectoryBackingStore( 26 OnDiskDirectoryBackingStore::OnDiskDirectoryBackingStore(
27 const std::string& dir_name, const base::FilePath& backing_filepath) 27 const std::string& dir_name, const base::FilePath& backing_filepath)
28 : DirectoryBackingStore(dir_name), 28 : DirectoryBackingStore(dir_name),
29 allow_failure_for_test_(false), 29 allow_failure_for_test_(false),
30 backing_filepath_(backing_filepath) { 30 backing_filepath_(backing_filepath) {
31 db_->set_exclusive_locking(); 31 db_->set_exclusive_locking();
32 db_->set_page_size(4096); 32 db_->set_page_size(databasePageSize_);
33 } 33 }
34 34
35 OnDiskDirectoryBackingStore::~OnDiskDirectoryBackingStore() { } 35 OnDiskDirectoryBackingStore::~OnDiskDirectoryBackingStore() { }
36 36
37 DirOpenResult OnDiskDirectoryBackingStore::TryLoad( 37 DirOpenResult OnDiskDirectoryBackingStore::TryLoad(
38 Directory::MetahandlesMap* handles_map, 38 Directory::MetahandlesMap* handles_map,
39 JournalIndex* delete_journals, 39 JournalIndex* delete_journals,
40 MetahandleSet* metahandles_to_purge, 40 MetahandleSet* metahandles_to_purge,
41 Directory::KernelLoadInfo* kernel_load_info) { 41 Directory::KernelLoadInfo* kernel_load_info) {
42 DCHECK(CalledOnValidThread()); 42 DCHECK(CalledOnValidThread());
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 78
79 // The fallback: delete the current database and return a fresh one. We can 79 // The fallback: delete the current database and return a fresh one. We can
80 // fetch the user's data from the cloud. 80 // fetch the user's data from the cloud.
81 STLDeleteValues(handles_map); 81 STLDeleteValues(handles_map);
82 STLDeleteElements(delete_journals); 82 STLDeleteElements(delete_journals);
83 db_.reset(new sql::Connection); 83 db_.reset(new sql::Connection);
84 // TODO: Manually propagating the default database settings is 84 // TODO: Manually propagating the default database settings is
85 // brittle. Either have a helper to set these up (or generate a new 85 // brittle. Either have a helper to set these up (or generate a new
86 // connection), or add something like Reset() to sql::Connection. 86 // connection), or add something like Reset() to sql::Connection.
87 db_->set_exclusive_locking(); 87 db_->set_exclusive_locking();
88 db_->set_page_size(4096); 88 db_->set_page_size(databasePageSize_);
89 db_->set_histogram_tag("SyncDirectory"); 89 db_->set_histogram_tag("SyncDirectory");
90 base::DeleteFile(backing_filepath_, false); 90 base::DeleteFile(backing_filepath_, false);
91 91
92 result = TryLoad(handles_map, delete_journals, metahandles_to_purge, 92 result = TryLoad(handles_map, delete_journals, metahandles_to_purge,
93 kernel_load_info); 93 kernel_load_info);
94 if (result == OPENED) { 94 if (result == OPENED) {
95 UMA_HISTOGRAM_ENUMERATION( 95 UMA_HISTOGRAM_ENUMERATION(
96 "Sync.DirectoryOpenResult", SECOND_TRY_SUCCESS, RESULT_COUNT); 96 "Sync.DirectoryOpenResult", SECOND_TRY_SUCCESS, RESULT_COUNT);
97 } else { 97 } else {
98 UMA_HISTOGRAM_ENUMERATION( 98 UMA_HISTOGRAM_ENUMERATION(
(...skipping 10 matching lines...) Expand all
109 // immediately so a developer can investigate. 109 // immediately so a developer can investigate.
110 // 110 //
111 // Developers: If you're not interested in debugging this right now, just move 111 // Developers: If you're not interested in debugging this right now, just move
112 // aside the 'Sync Data' directory in your profile. This is similar to what 112 // aside the 'Sync Data' directory in your profile. This is similar to what
113 // the code would do if this DCHECK were disabled. 113 // the code would do if this DCHECK were disabled.
114 NOTREACHED() << "Crashing to preserve corrupt sync database"; 114 NOTREACHED() << "Crashing to preserve corrupt sync database";
115 } 115 }
116 116
117 } // namespace syncable 117 } // namespace syncable
118 } // namespace syncer 118 } // namespace syncer
OLDNEW
« no previous file with comments | « sync/syncable/directory_backing_store_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698