Reland "Fix sync protocol violation about birthday requirements"
This is a reland of 956715c7 Original change's description: > Fix sync protocol violation about birthday requirements > > The sync (store) birthday can only be empty during the very initial > interactions with the server, when control datatypes are downloaded, > after enabling sync (or the user signing in, for sync-the-transport > mode). > > If, during startup, the birthday is empty, we should throw away all > sync metadata and redownload everything. One way to do so is to > regenerate the cache GUID, which datatypes detect as mismatch and > leads to all sync metadata being cleared. > > As can seen in newly added tests, the scenario seems hard to > reproduce, but we have server-side evidence that some users run into > this issue (and would even DCHECK-fail for DCHECK-enabled builds). > > Bug: 923285 > Change-Id: If9e4807a086001931fd65f3e12a1ab53c4a33c9d > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1599456 > Reviewed-by: Marc Treib <treib@chromium.org> > Commit-Queue: Mikel Astiz <mastiz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#658540} Bug: 923285 Change-Id: I38101a4e534d80a6cf4d29dbdaeac078e4c03212 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1607806Reviewed-by:Marc Treib <treib@chromium.org> Commit-Queue: Mikel Astiz <mastiz@chromium.org> Cr-Commit-Position: refs/heads/master@{#659025}
Showing
Please register or sign in to comment