• Mikel Astiz's avatar
    Reland "Fix sync protocol violation about birthday requirements" · 0c6bd621
    Mikel Astiz authored
    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: default avatarMarc Treib <treib@chromium.org>
    Commit-Queue: Mikel Astiz <mastiz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#659025}
    0c6bd621
enable_disable_test.cc 19.5 KB