summaryrefslogtreecommitdiffstats
path: root/sync
diff options
context:
space:
mode:
authorrlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-23 19:44:09 +0000
committerrlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-23 19:44:09 +0000
commit32d7c33c52e49ed8b8e89b1e1b5158be0959b5ac (patch)
treebfc55553a2300c5e6da040fbd243f22eca84a1aa /sync
parent2a6c56788b74ca5e0fb72000185a469e552d2313 (diff)
downloadchromium_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.cc3
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