Skip to content
This repository has been archived by the owner on Jul 31, 2020. It is now read-only.

Sync : missing bookmarks from import on other machine #112

Closed
alexwykoff opened this issue Jun 19, 2017 · 7 comments
Closed

Sync : missing bookmarks from import on other machine #112

alexwykoff opened this issue Jun 19, 2017 · 7 comments
Assignees
Milestone

Comments

@alexwykoff
Copy link

  • Did you search for similar issues before submitting this one?
    Yes

  • Describe the issue you encountered:
    When importing a reasonably large number of bookmarks (>6000) the other machine which receives the sync does not have many of the bookmarks even after waiting for 20 minutes or so.

  • Platform (Win7, 8, 10? macOS? Linux distro?):
    macOS, Windows 10

  • Brave Version (revision SHA):
    0.17.3 (02a7878)

  • Steps to reproduce:

    1. with clean profiles, sync two laptops with 0.17.3
    2. import a large number of bookmarks with nested upon nested folders
    3. check bookmarks in nested folders on device 2, notice they are missing in many cases
  • Actual result:
    Bookmark order is scrambled in places an many are missing.
    Numerous (thousands) of similar errors appeared on the console indicating some sort of failure with AWS.

  • Expected result:
    the structure and contents of the first laptop should be matched by the second laptop

  • Will the steps above reproduce in a fresh profile? If not what other info can be added?
    Yes

  • Is this an issue in the currently released version?
    Unsure due to prior hierarchy bug.

  • Can this issue be consistently reproduced?
    Yes

  • Extra QA steps:
    1.
    2.
    3.

  • Screenshot if needed:

screen shot 2017-06-16 at 1 56 30 pm

screen shot 2017-06-16 at 12 05 10 pm

  • Any related issues:
@ayumi
Copy link
Contributor

ayumi commented Jun 19, 2017

Was able to repro:

  • Mac OS
  • 07166c7973563be8c86a1204a80f508f28245cc5
  • npm run start
  • sync staging
  • 10K bookmarks

ayumi added a commit that referenced this issue Jun 29, 2017
Deprecate SEND_SYNC_RECORDS category to be optional and derived
from each record.

Required for #112
ayumi added a commit to brave/browser-laptop that referenced this issue Jun 29, 2017
ayumi added a commit that referenced this issue Jun 29, 2017
Deprecate SEND_SYNC_RECORDS category to be optional and derived
from each record.

Required for #112
ayumi added a commit to brave/browser-laptop that referenced this issue Jun 30, 2017
@ayumi
Copy link
Contributor

ayumi commented Jul 4, 2017

This was fixed by #122. To track the pause/resume uploads issue I've opened #125.

@alexwykoff
Copy link
Author

still noticing this on 0.17.16

@bsclifton
Copy link
Member

@ayumi can you check this out?

@ayumi
Copy link
Contributor

ayumi commented Jul 12, 2017

I found that:

  1. if both pyramids are online concurrently, there might be a delay in what pyramid 1 sees from the data store (S3). this can cause bookmarks to fail to download.
  2. if pyramid 0 syncs, then you wait 10 minutes, then pyramid 1 syncs, there is much less loss of bookmarks.

MacOS, browser-laptop 0.17.x

AWS S3 "eventual consistency"

@ayumi
Copy link
Contributor

ayumi commented Jul 12, 2017

Ideas to make this better:

  1. Browser-clients should reupload pending sync records after time t (currently reupload happens on browser restart).
  2. Browser-clients concurrently online should detect S3 inconsistency (maybe by periodically measuring total record count) and redownload all records when that happens.

@bsclifton
Copy link
Member

Original issue (as described) has been solved- I'm going to mark as closed. Steps that should always work:

  1. clean profiles, sync 2 devices (pyramid 0, pyramid 1)
  2. turn pyramid 1 off
  3. import into pyramid 0
  4. wait 15 mins
  5. turn pyramid 1 on
  6. wait 1-2 minutes
  7. compare exported bookmark files

Above comments captured in a new issue #139

ayumi added a commit to brave/browser-laptop that referenced this issue Jul 14, 2017
Fix brave/sync#144

Also fixes some imported bookmarks lost until restart.
See also: brave/sync#112

Test Plan:
1. Pyramid 0: Open and enable Sync.
2. Pyramid 1: Open and join Pyramid 0's Sync profile. Close browser.
3. P_0: Import 1000s of bookmarks.
4. P_0: Wait for Sync uploads to finish (console shows "got 0 decrypted records in BOOKMARKS after {timestamp}"). Wait an additional 3 minutes.
6. P_0: Export bookmarks to HTML file.
7. P_1: Open and wait for Sync download (~1m).
8. P_1: Export bookmarks to HTML file.
9. Run `wc -l {P_0 bookmarks HTML}` and `wc -l {P_0 bookmarks HTML}` and compare. These should match.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants