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

Issue 2911603003: [Sync] Stop dropping pending restarts from interleaved nudges. (Closed)

Created:
3 years, 7 months ago by skym
Modified:
3 years, 6 months ago
Reviewers:
Gang Wu
CC:
chromium-reviews, sync-reviews_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

[Sync] Stop dropping pending restarts from interleaved nudges. This bug was discovered by the Kitchen Sync integration test BothClientsEnabledEncryptionAndChangedMultipleTimes_E2ETest. What was happening is that for a given client, it was mid PostTask "bounce" in TrySyncCycleJob, when a second nudge was scheduled. This was allowed to get through because the pending_wakeup_timer_ wasn't running. However, when TrySyncCycleJobImpl contacted the server, we hit an error, and the scheduler tried to call RestartWaiting(). This didn't have any effect, because now the pending_wakeup_timer_ has a imminent nudge, with a smaller delay time, and we had no way of knowing the priority of the pending wakeup tasks. The above is arguably all okay, but when the now pending nudge was run, it has low priority, but we're in an error state, and this no-ops. And at the end of PerformDelayedNudge we explicitly don't call RestartWaiting(), which seems to be wrong. BUG=721850 Review-Url: https://codereview.chromium.org/2911603003 Cr-Commit-Position: refs/heads/master@{#475748} Committed: https://chromium.googlesource.com/chromium/src/+/e14851b28b8df63f1a8d2b6ce65b9f8d754bc9f5

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+68 lines, -18 lines) Patch
M components/sync/engine_impl/sync_scheduler_impl.cc View 1 chunk +8 lines, -7 lines 0 comments Download
M components/sync/engine_impl/sync_scheduler_impl_unittest.cc View 11 chunks +60 lines, -11 lines 0 comments Download

Messages

Total messages: 17 (11 generated)
skym
PTAL
3 years, 7 months ago (2017-05-26 20:22:32 UTC) #4
Gang Wu
lgtm
3 years, 6 months ago (2017-05-30 19:37:20 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2911603003/1
3 years, 6 months ago (2017-05-30 19:45:29 UTC) #10
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/306394)
3 years, 6 months ago (2017-05-30 23:06:14 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2911603003/1
3 years, 6 months ago (2017-05-30 23:22:49 UTC) #14
commit-bot: I haz the power
3 years, 6 months ago (2017-05-31 02:27:00 UTC) #17
Message was sent while issue was closed.
Committed patchset #1 (id:1) as
https://chromium.googlesource.com/chromium/src/+/e14851b28b8df63f1a8d2b6ce65b...

Powered by Google App Engine
This is Rietveld 408576698