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

Unified Diff: sync/engine/backoff_delay_provider.cc

Issue 232003005: [Sync] Add support for retrying a getupdates due to a context change (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sync/engine/backoff_delay_provider.cc
diff --git a/sync/engine/backoff_delay_provider.cc b/sync/engine/backoff_delay_provider.cc
index f8e2750876fd9a87d10ce49d0203efca41bef458..bff3fd61c6e1d23456d657711a548a679cf9c72c 100644
--- a/sync/engine/backoff_delay_provider.cc
+++ b/sync/engine/backoff_delay_provider.cc
@@ -97,6 +97,11 @@ TimeDelta BackoffDelayProvider::GetInitialDelay(
return short_initial_backoff_;
}
+ // If a datatype decides the GetUpdates must be retried (e.g. because the
+ // context has been updated since the request), use the short delay.
+ if (state.last_download_updates_result == DATATYPE_TRIGGERED_RETRY)
+ return short_initial_backoff_;
+
// When the server tells us we have a conflict, then we should download the
// latest updates so we can see the conflict ourselves, resolve it locally,
// then try again to commit. Running another sync cycle will do all these
@@ -105,9 +110,8 @@ TimeDelta BackoffDelayProvider::GetInitialDelay(
// TODO(sync): We shouldn't need to handle this in BackoffDelayProvider.
// There should be a way to deal with protocol errors before we get to this
// point.
- if (state.commit_result == SERVER_RETURN_CONFLICT) {
+ if (state.commit_result == SERVER_RETURN_CONFLICT)
return short_initial_backoff_;
- }
return default_initial_backoff_;
}
« no previous file with comments | « no previous file | sync/engine/backoff_delay_provider_unittest.cc » ('j') | sync/engine/directory_update_handler_unittest.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698