diff options
author | rlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-23 19:44:09 +0000 |
---|---|---|
committer | rlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-23 19:44:09 +0000 |
commit | 32d7c33c52e49ed8b8e89b1e1b5158be0959b5ac (patch) | |
tree | bfc55553a2300c5e6da040fbd243f22eca84a1aa /sync | |
parent | 2a6c56788b74ca5e0fb72000185a469e552d2313 (diff) | |
download | chromium_src-32d7c33c52e49ed8b8e89b1e1b5158be0959b5ac.zip chromium_src-32d7c33c52e49ed8b8e89b1e1b5158be0959b5ac.tar.gz chromium_src-32d7c33c52e49ed8b8e89b1e1b5158be0959b5ac.tar.bz2 |
Fix some migration-related bugs
This change treat jobs that receive MIGRATION_DONE response from the
server as a failure, so that they will be retried. Otherwise we could
end up unnecessarily dropping nudges or notifications. This was already
effectively the case for jobs that committed items for types that were
being migrated due to a detail of the way ProcessCommitResponse errors
were detected.
This also modifies the handling of configuration done notifications in
the ProfileSyncService so it no longer causes the scheduler to briefly
transition back to NORMAL mode in mid-migration. The old way of doing
things would often lead to pending nudges being executed while the
migration was still in progress.
Finally, this change reroutes the backend migrator's OnConfigureDone
callback thorugh ProfileSyncService. Now we can guarantee that the
ProfileSyncService's callbck gets executed first. This should be less
brittle than hoping that the notifications arrive in a certain order.
BUG=123954,94882
TEST=
Review URL: http://codereview.chromium.org/10167017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133498 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync')
-rw-r--r-- | sync/sessions/sync_session.cc | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sync/sessions/sync_session.cc b/sync/sessions/sync_session.cc index c557862..0d5835e 100644 --- a/sync/sessions/sync_session.cc +++ b/sync/sessions/sync_session.cc @@ -234,8 +234,7 @@ namespace { // bool IsError(SyncerError error) { return error != UNSET - && error != SYNCER_OK - && error != SERVER_RETURN_MIGRATION_DONE; + && error != SYNCER_OK; } } // namespace |