Chromium Code Reviews
Help | Chromium Project | Sign in
(260)

Issue 2844037: Fix handling of undeletion within the syncer. (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
4 years, 11 months ago by ncarter
Modified:
4 years ago
Reviewers:
chron_chromium.org
CC:
chromium-reviews, ncarter, ben+cc_chromium.org, Paul Godavari, idana, Paweł Hajdan Jr., timsteele, Raghu Simha
Base URL:
http://src.chromium.org/git/chromium.git
Visibility:
Public.

Description

Fix handling of undeletion within the syncer. Accomplished by: (a) Plumbing the const CommitMessage into process_commit_response_command.cc, so that we can know the server state better (IS_DEL is no longer authoritative if ! which spilled over into a couple test expectations. (b) Relaxing the enforced invariants that version==0 implied !ServerKnows, for items with client tags. (c) Use ID renaming instead of delete/recreate to handle collisions on the unique tag. (d) Upon deletion, version number goes to 0 so that the server knows to process the item as a recreate, if it gets undeleted. Previously, the server number would get synthesized on the client by incrementing the last known version number. (e) Add unit tests for pretty much every ordering of delete/undelete I could come up with. BUG=46769 TEST=unit tests; repeatedly uninstalled/installed extensions Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=52209

Patch Set 1 #

Patch Set 2 : Correct base revision. #

Patch Set 3 : For self-review #

Patch Set 4 : Patch set for self review. #

Patch Set 5 : Rebased. #

Total comments: 28

Patch Set 6 : Self-review. #

Patch Set 7 : Incorporate review fixes. #

Patch Set 8 : Whitespace. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1061 lines, -262 lines) Patch
M chrome/browser/sync/engine/build_commit_command.cc View 1 2 3 4 5 6 4 chunks +17 lines, -12 lines 0 comments Download
M chrome/browser/sync/engine/conflict_resolver.cc View 3 4 5 6 3 chunks +28 lines, -17 lines 0 comments Download
M chrome/browser/sync/engine/download_updates_command.cc View 1 2 3 1 chunk +3 lines, -1 line 0 comments Download
M chrome/browser/sync/engine/download_updates_command_unittest.cc View 4 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/browser/sync/engine/post_commit_message_command.cc View 1 chunk +3 lines, -3 lines 0 comments Download
M chrome/browser/sync/engine/process_commit_response_command.h View 1 2 3 1 chunk +43 lines, -8 lines 0 comments Download
M chrome/browser/sync/engine/process_commit_response_command.cc View 1 2 3 4 5 6 7 6 chunks +182 lines, -70 lines 0 comments Download
M chrome/browser/sync/engine/syncer_proto_util.h View 1 2 3 4 chunks +9 lines, -8 lines 0 comments Download
M chrome/browser/sync/engine/syncer_proto_util.cc View 1 2 3 4 chunks +12 lines, -8 lines 0 comments Download
M chrome/browser/sync/engine/syncer_proto_util_unittest.cc View 1 2 4 chunks +3 lines, -19 lines 0 comments Download
M chrome/browser/sync/engine/syncer_unittest.cc View 1 2 3 4 5 6 14 chunks +589 lines, -43 lines 0 comments Download
M chrome/browser/sync/engine/syncer_util.cc View 1 2 3 4 5 6 10 chunks +54 lines, -32 lines 0 comments Download
M chrome/browser/sync/engine/syncproto.h View 1 2 3 4 5 2 chunks +8 lines, -0 lines 0 comments Download
M chrome/browser/sync/engine/verify_updates_command.cc View 1 chunk +0 lines, -4 lines 0 comments Download
M chrome/browser/sync/sessions/status_controller.h View 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/browser/sync/syncable/syncable.h View 1 4 1 chunk +0 lines, -1 line 0 comments Download
M chrome/browser/sync/syncable/syncable.cc View 1 3 4 2 chunks +20 lines, -8 lines 0 comments Download
M chrome/browser/sync/syncable/syncable_id.h View 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/browser/sync/syncable/syncable_id.cc View 1 chunk +0 lines, -6 lines 0 comments Download
M chrome/test/sync/engine/mock_connection_manager.h View 1 8 chunks +29 lines, -7 lines 0 comments Download
M chrome/test/sync/engine/mock_connection_manager.cc View 1 4 8 chunks +54 lines, -12 lines 0 comments Download
Commit: CQ not working?

Messages

Total messages: 4 (0 generated)
ncarter
4 years, 10 months ago (2010-07-12 18:03:07 UTC) #1
chron_chromium.org
http://codereview.chromium.org/2844037/diff/11001/12001 File chrome/browser/sync/engine/build_commit_command.cc (right): http://codereview.chromium.org/2844037/diff/11001/12001#newcode95 chrome/browser/sync/engine/build_commit_command.cc:95: SyncerProtoUtil::AddRequestBirthday( Do we check this on the server side? ...
4 years, 10 months ago (2010-07-12 21:30:41 UTC) #2
ncarter
http://codereview.chromium.org/2844037/diff/11001/12001 File chrome/browser/sync/engine/build_commit_command.cc (right): http://codereview.chromium.org/2844037/diff/11001/12001#newcode95 chrome/browser/sync/engine/build_commit_command.cc:95: SyncerProtoUtil::AddRequestBirthday( On 2010/07/12 21:30:41, chron_chromium.org wrote: > Do we ...
4 years, 10 months ago (2010-07-13 18:12:46 UTC) #3
chron
4 years, 10 months ago (2010-07-13 18:20:41 UTC) #4
LGTM
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld ec887be