diff options
author | zea <zea@chromium.org> | 2016-02-24 12:41:48 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-24 20:42:45 +0000 |
commit | 32a7684cf7c1173c11ab012591c8cca2d31df52a (patch) | |
tree | 7901fd9480b2114ddbb8fed5e48ef61ddaf9bd4f /sync/syncable | |
parent | a03e8479b8c2e203d7306817d2f1330132000d8f (diff) | |
download | chromium_src-32a7684cf7c1173c11ab012591c8cca2d31df52a.zip chromium_src-32a7684cf7c1173c11ab012591c8cca2d31df52a.tar.gz chromium_src-32a7684cf7c1173c11ab012591c8cca2d31df52a.tar.bz2 |
[Sync] Remove backup/rollback logic from Sync
BUG=586596
Review URL: https://codereview.chromium.org/1703173002
Cr-Commit-Position: refs/heads/master@{#377370}
Diffstat (limited to 'sync/syncable')
3 files changed, 0 insertions, 238 deletions
diff --git a/sync/syncable/deferred_on_disk_directory_backing_store.cc b/sync/syncable/deferred_on_disk_directory_backing_store.cc deleted file mode 100644 index 5e960d2..0000000 --- a/sync/syncable/deferred_on_disk_directory_backing_store.cc +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "sync/syncable/deferred_on_disk_directory_backing_store.h" - -#include "base/logging.h" -#include "base/metrics/histogram.h" -#include "base/stl_util.h" -#include "sync/syncable/syncable-inl.h" - -namespace syncer { -namespace syncable { - -DeferredOnDiskDirectoryBackingStore::DeferredOnDiskDirectoryBackingStore( - const std::string& dir_name, - const base::FilePath& backing_file_path) - : OnDiskDirectoryBackingStore(dir_name, backing_file_path), - created_on_disk_(false) { -} - -DeferredOnDiskDirectoryBackingStore::~DeferredOnDiskDirectoryBackingStore() {} - -bool DeferredOnDiskDirectoryBackingStore::SaveChanges( - const Directory::SaveChangesSnapshot& snapshot) { - DCHECK(CalledOnValidThread()); - - // Back out early if there is nothing to save. - if (!snapshot.HasUnsavedMetahandleChanges()) { - return true; - } - if (!created_on_disk_ && !CreateOnDisk()) - return false; - return OnDiskDirectoryBackingStore::SaveChanges(snapshot); -} - -bool DeferredOnDiskDirectoryBackingStore::CreateOnDisk() { - DCHECK(CalledOnValidThread()); - DCHECK(!created_on_disk_); - ResetAndCreateConnection(); - if (!base::DeleteFile(backing_file_path(), false)) - return false; - if (!Open(backing_file_path()) || !InitializeTables()) - return false; - created_on_disk_ = true; - return true; -} - -DirOpenResult DeferredOnDiskDirectoryBackingStore::Load( - Directory::MetahandlesMap* handles_map, - JournalIndex* delete_journals, - MetahandleSet* metahandles_to_purge, - Directory::KernelLoadInfo* kernel_load_info) { - DCHECK(CalledOnValidThread()); - // Open an in-memory database at first to create initial sync data needed by - // Directory. - CHECK(!IsOpen()); - if (!OpenInMemory()) - return FAILED_OPEN_DATABASE; - - if (!InitializeTables()) - return FAILED_OPEN_DATABASE; - if (!LoadEntries(handles_map, metahandles_to_purge)) - return FAILED_DATABASE_CORRUPT; - if (!LoadInfo(kernel_load_info)) - return FAILED_DATABASE_CORRUPT; - - return OPENED; -} - -} // namespace syncable -} // namespace syncer diff --git a/sync/syncable/deferred_on_disk_directory_backing_store.h b/sync/syncable/deferred_on_disk_directory_backing_store.h deleted file mode 100644 index 0531737..0000000 --- a/sync/syncable/deferred_on_disk_directory_backing_store.h +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef SYNC_SYNCABLE_DEFERRED_ON_DISK_DIRECTORY_BACKING_STORE_H_ -#define SYNC_SYNCABLE_DEFERRED_ON_DISK_DIRECTORY_BACKING_STORE_H_ - -#include <string> - -#include "base/files/file_path.h" -#include "base/macros.h" -#include "sync/base/sync_export.h" -#include "sync/syncable/on_disk_directory_backing_store.h" - -namespace syncer { -namespace syncable { - -// Store used for backing up user's data before first sync. It creates an -// in-memory store first and switch to on-disk store if SaveChanges() is -// called, which only happens when SyncBackupManager is shut down and a -// syncing backend is to be created. Thus we guarantee that user data is not -// persisted until user is actually going to sync. -class SYNC_EXPORT DeferredOnDiskDirectoryBackingStore - : public OnDiskDirectoryBackingStore { - public: - DeferredOnDiskDirectoryBackingStore(const std::string& dir_name, - const base::FilePath& backing_file_path); - ~DeferredOnDiskDirectoryBackingStore() override; - DirOpenResult Load(Directory::MetahandlesMap* handles_map, - JournalIndex* delete_journals, - MetahandleSet* metahandles_to_purge, - Directory::KernelLoadInfo* kernel_load_info) override; - bool SaveChanges(const Directory::SaveChangesSnapshot& snapshot) override; - - private: - // Create an on-disk directory backing store. Returns true on success, false - // on error. - bool CreateOnDisk(); - - // Whether an on-disk directory backing store has been created. - bool created_on_disk_; - - DISALLOW_COPY_AND_ASSIGN(DeferredOnDiskDirectoryBackingStore); -}; - -} // namespace syncable -} // namespace syncer - -#endif // SYNC_SYNCABLE_DEFERRED_ON_DISK_DIRECTORY_BACKING_STORE_H_ diff --git a/sync/syncable/deferred_on_disk_directory_backing_store_unittest.cc b/sync/syncable/deferred_on_disk_directory_backing_store_unittest.cc deleted file mode 100644 index a62060a..0000000 --- a/sync/syncable/deferred_on_disk_directory_backing_store_unittest.cc +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "base/files/scoped_temp_dir.h" -#include "base/message_loop/message_loop.h" -#include "base/stl_util.h" -#include "sync/syncable/deferred_on_disk_directory_backing_store.h" -#include "sync/syncable/directory.h" -#include "sync/syncable/entry_kernel.h" -#include "sync/syncable/on_disk_directory_backing_store.h" -#include "sync/syncable/syncable_delete_journal.h" -#include "testing/gtest/include/gtest/gtest.h" - -namespace syncer { -namespace syncable { -namespace { - -static const base::FilePath::CharType kSyncDataFolderName[] = - FILE_PATH_LITERAL("Sync Data"); - -class DeferredOnDiskDirectoryBackingStoreTest : public testing::Test { - protected: - void SetUp() override { - CHECK(temp_dir_.CreateUniqueTempDir()); - db_path_ = temp_dir_.path().Append(kSyncDataFolderName); - } - - void TearDown() override { STLDeleteValues(&handles_map_); } - - base::MessageLoop message_loop_; - base::ScopedTempDir temp_dir_; - base::FilePath db_path_; - Directory::MetahandlesMap handles_map_; - JournalIndex delete_journals_; - MetahandleSet metahandles_to_purge_; - Directory::KernelLoadInfo kernel_load_info_; -}; - -// Test initialization of root entry when calling Load(). -TEST_F(DeferredOnDiskDirectoryBackingStoreTest, Load) { - DeferredOnDiskDirectoryBackingStore store("test", db_path_); - EXPECT_EQ(OPENED, store.Load(&handles_map_, &delete_journals_, - &metahandles_to_purge_, &kernel_load_info_)); - EXPECT_TRUE(delete_journals_.empty()); - EXPECT_TRUE(metahandles_to_purge_.empty()); - ASSERT_EQ(1u, handles_map_.size()); // root node - ASSERT_TRUE(handles_map_.count(1)); - EntryKernel* root = handles_map_[1]; - EXPECT_TRUE(root->ref(ID).IsRoot()); - EXPECT_EQ(1, root->ref(META_HANDLE)); - EXPECT_TRUE(root->ref(IS_DIR)); -} - -// Test on-disk DB is not created if SaveChanges() is not called. -TEST_F(DeferredOnDiskDirectoryBackingStoreTest, - DontPersistIfSavingChangesNotCalled) { - { - // Open and close. - DeferredOnDiskDirectoryBackingStore store("test", db_path_); - EXPECT_EQ(OPENED, store.Load(&handles_map_, &delete_journals_, - &metahandles_to_purge_, &kernel_load_info_)); - } - - EXPECT_FALSE(base::PathExists(db_path_)); -} - -// Test on-disk DB is not created when there are no changes. -TEST_F(DeferredOnDiskDirectoryBackingStoreTest, - DontPersistWhenSavingNoChanges) { - { - // Open and close. - DeferredOnDiskDirectoryBackingStore store("test", db_path_); - EXPECT_EQ(OPENED, store.Load(&handles_map_, &delete_journals_, - &metahandles_to_purge_, &kernel_load_info_)); - - Directory::SaveChangesSnapshot snapshot; - store.SaveChanges(snapshot); - } - - EXPECT_FALSE(base::PathExists(db_path_)); -} - -// Test changes are persisted to disk when SaveChanges() is called. -TEST_F(DeferredOnDiskDirectoryBackingStoreTest, PersistWhenSavingValidChanges) { - { - // Open and close. - DeferredOnDiskDirectoryBackingStore store("test", db_path_); - EXPECT_EQ(OPENED, store.Load(&handles_map_, &delete_journals_, - &metahandles_to_purge_, &kernel_load_info_)); - - Directory::SaveChangesSnapshot snapshot; - EntryKernel* entry = new EntryKernel(); - entry->put(ID, Id::CreateFromClientString("test_entry")); - entry->put(META_HANDLE, 2); - entry->mark_dirty(NULL); - snapshot.dirty_metas.insert(entry); - store.SaveChanges(snapshot); - } - - STLDeleteValues(&handles_map_); - - ASSERT_TRUE(base::PathExists(db_path_)); - OnDiskDirectoryBackingStore read_store("test", db_path_); - EXPECT_EQ(OPENED, - read_store.Load(&handles_map_, &delete_journals_, - &metahandles_to_purge_, &kernel_load_info_)); - ASSERT_EQ(2u, handles_map_.size()); - ASSERT_TRUE(handles_map_.count(1)); // root node - ASSERT_TRUE(handles_map_.count(2)); - EntryKernel* entry = handles_map_[2]; - EXPECT_EQ(Id::CreateFromClientString("test_entry"), entry->ref(ID)); -} - -} // namespace -} // namespace syncable -} // namespace syncer |