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

Issue 9663021: Add database recovery for FileSystemOriginDatabase (Closed)

Created:
8 years, 9 months ago by tzik
Modified:
8 years, 8 months ago
Reviewers:
kinuko, ericu, jsbell
CC:
chromium-reviews, kinuko+watch, darin-cc_chromium.org
Visibility:
Public.

Description

Add database recovery for FileSystemOriginDatabase BUG=103018, 116615 TEST=FileSystemOriginDatabase.DatabaseRecoveryTest Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=129631

Patch Set 1 #

Patch Set 2 : add tests #

Total comments: 4

Patch Set 3 : bool -> enum #

Total comments: 10

Patch Set 4 : '' #

Patch Set 5 : repairing #

Patch Set 6 : deletion for directory database #

Total comments: 9

Patch Set 7 : disabling directory database cleanup #

Total comments: 6

Patch Set 8 : repairing test #

Patch Set 9 : '' #

Patch Set 10 : build fix #

Total comments: 21

Patch Set 11 : build fix & test fix #

Patch Set 12 : build fix for windows & kinuko-san comments #

Patch Set 13 : '' #

Total comments: 22

Patch Set 14 : address comments #

Total comments: 2

Patch Set 15 : build fix #

Total comments: 2

Patch Set 16 : add comment, remove default label #

Total comments: 24

Patch Set 17 : '' #

Patch Set 18 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+373 lines, -112 lines) Patch
M webkit/fileapi/file_system_directory_database.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +9 lines, -3 lines 0 comments Download
M webkit/fileapi/file_system_directory_database.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 16 chunks +48 lines, -55 lines 0 comments Download
M webkit/fileapi/file_system_directory_database_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +3 lines, -2 lines 0 comments Download
M webkit/fileapi/file_system_origin_database.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +10 lines, -3 lines 0 comments Download
M webkit/fileapi/file_system_origin_database.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 10 chunks +95 lines, -24 lines 0 comments Download
M webkit/fileapi/file_system_origin_database_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 7 chunks +178 lines, -18 lines 0 comments Download
M webkit/fileapi/file_system_util.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +13 lines, -0 lines 0 comments Download
M webkit/fileapi/file_system_util.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +16 lines, -0 lines 0 comments Download
M webkit/fileapi/obfuscated_file_util.cc View 1 2 3 4 5 4 chunks +1 line, -7 lines 0 comments Download

Messages

Total messages: 36 (0 generated)
tzik
Hi. I'd try to handle corrupted LevelDB issue on File API. Could you take a ...
8 years, 9 months ago (2012-03-09 22:56:38 UTC) #1
jsbell
Just some quick nits. http://codereview.chromium.org/9663021/diff/2001/webkit/fileapi/file_system_directory_database.cc File webkit/fileapi/file_system_directory_database.cc (right): http://codereview.chromium.org/9663021/diff/2001/webkit/fileapi/file_system_directory_database.cc#newcode134 webkit/fileapi/file_system_directory_database.cc:134: if (!Init(true)) The Boolean argument ...
8 years, 9 months ago (2012-03-09 23:10:11 UTC) #2
tzik
http://codereview.chromium.org/9663021/diff/2001/webkit/fileapi/file_system_directory_database.cc File webkit/fileapi/file_system_directory_database.cc (right): http://codereview.chromium.org/9663021/diff/2001/webkit/fileapi/file_system_directory_database.cc#newcode134 webkit/fileapi/file_system_directory_database.cc:134: if (!Init(true)) On 2012/03/09 23:10:11, jsbell wrote: > The ...
8 years, 9 months ago (2012-03-10 00:16:55 UTC) #3
jsbell
lgtm with a few more nits. http://codereview.chromium.org/9663021/diff/6001/webkit/fileapi/file_system_directory_database.cc File webkit/fileapi/file_system_directory_database.cc (right): http://codereview.chromium.org/9663021/diff/6001/webkit/fileapi/file_system_directory_database.cc#newcode441 webkit/fileapi/file_system_directory_database.cc:441: return Init(LEAVE_ON_CORRUPTION); What ...
8 years, 9 months ago (2012-03-10 00:54:50 UTC) #4
michaeln
eric probably should take a look at this too http://codereview.chromium.org/9663021/diff/6001/webkit/fileapi/file_system_directory_database.cc File webkit/fileapi/file_system_directory_database.cc (right): http://codereview.chromium.org/9663021/diff/6001/webkit/fileapi/file_system_directory_database.cc#newcode438 webkit/fileapi/file_system_directory_database.cc:438: ...
8 years, 9 months ago (2012-03-11 17:40:10 UTC) #5
ericu
There's a leveldb::Repair that we should try before we use levelDB::Destroy. At a glance, it ...
8 years, 9 months ago (2012-03-12 19:46:01 UTC) #6
ericu
On 2012/03/12 19:46:01, ericu wrote: > There's a leveldb::Repair that we should try before we ...
8 years, 9 months ago (2012-03-12 19:59:36 UTC) #7
michaeln
food for thought... we could store enough in the per-origin directory databases to reconstruct this ...
8 years, 9 months ago (2012-03-12 22:05:19 UTC) #8
ericu
On 2012/03/12 22:05:19, michaeln wrote: > food for thought... we could store enough in the ...
8 years, 9 months ago (2012-03-12 22:15:46 UTC) #9
tzik
So, IIUC, we should: - delete entire directory for the origin on directory database corruption, ...
8 years, 9 months ago (2012-03-13 06:40:29 UTC) #10
michaeln
With regard to deleting leveldb's while leaving orphaned files, i think it'd be good to ...
8 years, 9 months ago (2012-03-13 21:51:22 UTC) #11
ericu
On Mon, Mar 12, 2012 at 11:40 PM, <tzik@chromium.org> wrote: > So, IIUC, we should: ...
8 years, 9 months ago (2012-03-13 21:55:46 UTC) #12
kinuko
On Wed, Mar 14, 2012 at 6:55 AM, Eric Uhrhane <ericu@chromium.org> wrote: > On Mon, ...
8 years, 9 months ago (2012-03-14 01:30:02 UTC) #13
ericu
On Tue, Mar 13, 2012 at 6:29 PM, Kinuko Yasuda <kinuko@chromium.org> wrote: > On Wed, ...
8 years, 9 months ago (2012-03-14 16:35:53 UTC) #14
tzik
Implemented recovery and deletion for origin database, and deletion for directory database. Could you take ...
8 years, 9 months ago (2012-03-15 06:49:43 UTC) #15
ericu
http://codereview.chromium.org/9663021/diff/19002/webkit/fileapi/file_system_directory_database.h File webkit/fileapi/file_system_directory_database.h (right): http://codereview.chromium.org/9663021/diff/19002/webkit/fileapi/file_system_directory_database.h#newcode92 webkit/fileapi/file_system_directory_database.h:92: FAIL_ON_CORRUPTION, We should also attempt to repair here before ...
8 years, 9 months ago (2012-03-19 16:50:04 UTC) #16
tzik
http://codereview.chromium.org/9663021/diff/19002/webkit/fileapi/file_system_directory_database.h File webkit/fileapi/file_system_directory_database.h (right): http://codereview.chromium.org/9663021/diff/19002/webkit/fileapi/file_system_directory_database.h#newcode92 webkit/fileapi/file_system_directory_database.h:92: FAIL_ON_CORRUPTION, On 2012/03/19 16:50:05, ericu wrote: > We should ...
8 years, 9 months ago (2012-03-21 08:59:21 UTC) #17
ericu
http://codereview.chromium.org/9663021/diff/19002/webkit/fileapi/file_system_directory_database.h File webkit/fileapi/file_system_directory_database.h (right): http://codereview.chromium.org/9663021/diff/19002/webkit/fileapi/file_system_directory_database.h#newcode92 webkit/fileapi/file_system_directory_database.h:92: FAIL_ON_CORRUPTION, On 2012/03/21 08:59:21, tzik wrote: > On 2012/03/19 ...
8 years, 9 months ago (2012-03-22 03:54:16 UTC) #18
tzik
http://codereview.chromium.org/9663021/diff/19002/webkit/fileapi/file_system_origin_database_unittest.cc File webkit/fileapi/file_system_origin_database_unittest.cc (right): http://codereview.chromium.org/9663021/diff/19002/webkit/fileapi/file_system_origin_database_unittest.cc#newcode176 webkit/fileapi/file_system_origin_database_unittest.cc:176: TEST(FileSystemOriginDatabaseTest, DatabaseRecoveryTest) { On 2012/03/22 03:54:17, ericu wrote: > ...
8 years, 9 months ago (2012-03-22 14:56:26 UTC) #19
kinuko
Mostly nits only. http://codereview.chromium.org/9663021/diff/35003/webkit/fileapi/file_system_directory_database.cc File webkit/fileapi/file_system_directory_database.cc (right): http://codereview.chromium.org/9663021/diff/35003/webkit/fileapi/file_system_directory_database.cc#newcode425 webkit/fileapi/file_system_directory_database.cc:425: sandbox_directory_.Append(kDirectoryDatabaseName).value()); Can we use AsUTF8Unsafe() and ...
8 years, 9 months ago (2012-03-23 04:01:33 UTC) #20
kinuko
http://codereview.chromium.org/9663021/diff/35003/webkit/fileapi/file_system_directory_database.cc File webkit/fileapi/file_system_directory_database.cc (right): http://codereview.chromium.org/9663021/diff/35003/webkit/fileapi/file_system_directory_database.cc#newcode425 webkit/fileapi/file_system_directory_database.cc:425: sandbox_directory_.Append(kDirectoryDatabaseName).value()); On 2012/03/23 04:01:33, kinuko wrote: > Can we ...
8 years, 9 months ago (2012-03-23 06:27:21 UTC) #21
tzik
http://codereview.chromium.org/9663021/diff/35003/webkit/fileapi/file_system_directory_database.cc File webkit/fileapi/file_system_directory_database.cc (right): http://codereview.chromium.org/9663021/diff/35003/webkit/fileapi/file_system_directory_database.cc#newcode425 webkit/fileapi/file_system_directory_database.cc:425: sandbox_directory_.Append(kDirectoryDatabaseName).value()); On 2012/03/23 04:01:33, kinuko wrote: > Can we ...
8 years, 9 months ago (2012-03-23 07:09:00 UTC) #22
kinuko
http://codereview.chromium.org/9663021/diff/35003/webkit/fileapi/file_system_origin_database.cc File webkit/fileapi/file_system_origin_database.cc (right): http://codereview.chromium.org/9663021/diff/35003/webkit/fileapi/file_system_origin_database.cc#newcode110 webkit/fileapi/file_system_origin_database.cc:110: directories.insert(path_each.BaseName()); On 2012/03/23 07:09:00, tzik wrote: > On 2012/03/23 ...
8 years, 9 months ago (2012-03-26 05:25:09 UTC) #23
tzik
http://codereview.chromium.org/9663021/diff/35003/webkit/fileapi/file_system_origin_database.cc File webkit/fileapi/file_system_origin_database.cc (right): http://codereview.chromium.org/9663021/diff/35003/webkit/fileapi/file_system_origin_database.cc#newcode110 webkit/fileapi/file_system_origin_database.cc:110: directories.insert(path_each.BaseName()); On 2012/03/26 05:25:09, kinuko wrote: > On 2012/03/23 ...
8 years, 9 months ago (2012-03-26 08:04:56 UTC) #24
kinuko
lgtm http://codereview.chromium.org/9663021/diff/47001/webkit/fileapi/file_system_origin_database.cc File webkit/fileapi/file_system_origin_database.cc (right): http://codereview.chromium.org/9663021/diff/47001/webkit/fileapi/file_system_origin_database.cc#newcode90 webkit/fileapi/file_system_origin_database.cc:90: default: Let's not to have default here so ...
8 years, 9 months ago (2012-03-26 08:43:45 UTC) #25
tzik
http://codereview.chromium.org/9663021/diff/47001/webkit/fileapi/file_system_origin_database.cc File webkit/fileapi/file_system_origin_database.cc (right): http://codereview.chromium.org/9663021/diff/47001/webkit/fileapi/file_system_origin_database.cc#newcode90 webkit/fileapi/file_system_origin_database.cc:90: default: On 2012/03/26 08:43:45, kinuko wrote: > Let's not ...
8 years, 9 months ago (2012-03-26 11:27:37 UTC) #26
ericu
LGTM with nits. Thanks for the changes! http://codereview.chromium.org/9663021/diff/46006/webkit/fileapi/file_system_directory_database.cc File webkit/fileapi/file_system_directory_database.cc (right): http://codereview.chromium.org/9663021/diff/46006/webkit/fileapi/file_system_directory_database.cc#newcode14 webkit/fileapi/file_system_directory_database.cc:14: #include "base/utf_string_conversions.h" ...
8 years, 9 months ago (2012-03-26 18:39:18 UTC) #27
tzik
http://codereview.chromium.org/9663021/diff/46006/webkit/fileapi/file_system_directory_database.cc File webkit/fileapi/file_system_directory_database.cc (right): http://codereview.chromium.org/9663021/diff/46006/webkit/fileapi/file_system_directory_database.cc#newcode14 webkit/fileapi/file_system_directory_database.cc:14: #include "base/utf_string_conversions.h" On 2012/03/26 18:39:18, ericu wrote: > Is ...
8 years, 9 months ago (2012-03-27 02:44:18 UTC) #28
tzik
eric: Does the CL still look good to you? I'll submit it after another win_rel ...
8 years, 9 months ago (2012-03-29 02:13:21 UTC) #29
ericu
Yep; looks fine. http://codereview.chromium.org/9663021/diff/46006/webkit/fileapi/file_system_directory_database_unittest.cc File webkit/fileapi/file_system_directory_database_unittest.cc (right): http://codereview.chromium.org/9663021/diff/46006/webkit/fileapi/file_system_directory_database_unittest.cc#newcode33 webkit/fileapi/file_system_directory_database_unittest.cc:33: db_.reset(new FileSystemDirectoryDatabase(base_.path())); On 2012/03/27 02:44:18, tzik ...
8 years, 9 months ago (2012-03-29 04:22:18 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/tzik@chromium.org/9663021/54001
8 years, 9 months ago (2012-03-29 04:23:40 UTC) #31
commit-bot: I haz the power
Commit queue rejected this change because the description was changed between the time the change ...
8 years, 9 months ago (2012-03-29 07:27:30 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/tzik@chromium.org/9663021/54001
8 years, 9 months ago (2012-03-29 07:28:05 UTC) #33
commit-bot: I haz the power
Try job failure for 9663021-54001 (retry) on win_rel for step "browser_tests". It's a second try, ...
8 years, 8 months ago (2012-03-29 10:29:33 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/tzik@chromium.org/9663021/54001
8 years, 8 months ago (2012-03-29 13:34:27 UTC) #35
commit-bot: I haz the power
8 years, 8 months ago (2012-03-29 16:45:50 UTC) #36
Change committed as 129631

Powered by Google App Engine
This is Rietveld 408576698