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

Issue 906403003: Revert of Use external ID to match native model nodes during bookmark association. (Closed)

Created:
5 years, 10 months ago by Ryan Hamilton
Modified:
5 years, 10 months ago
Reviewers:
stanisc, Nicolas Zea
CC:
chromium-reviews, tim+watch_chromium.org, pvalenzuela+watch_chromium.org, maxbogue+watch_chromium.org, zea+watch_chromium.org, maniscalco+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Revert of Use external ID to match native model nodes during bookmark association. (patchset #2 id:40001 of https://codereview.chromium.org/904083002/) Reason for revert: Looks like it broke a sync_unittest http://build.chromium.org/p/chromium.win/builders/Win7%20Tests%20%28dbg%29%281%29/builds/35199 (But maybe it's a flake?) Original issue's description: > Use external ID to match native model nodes during bookmark association. > > The fix improves matching of nodes in BookmarkModelAssociator in > situations where there are multiple bookmarks or folders with the > same titles or URLs. > This will address one particular scenario leading to bookmark > duplication (see crbug.com/118105). > > 1) In BookmarkModelAssociator::BuildAssociations, when there are > multiple native model nodes with matching title / URL, a secondary > match on external ID is used to pick a preferred one; otherwise > the first matching node is returned. > The preferred match on external ID should be applicable in most > situations except when the native model has been rebuilt from scratch. > Picking a wrong folder during the association process results in > duplicating the entire subtree within the wrong folder. This issue > should be addressed now. > 2) In BookmarkModelAssociator::ApplyDeletesFromSyncJournal the external > ID match is now the primary criteria for selecting a native model > node to be deleted. The previous implementation would pick an arbitrary > native model node based on just the title / URL match anywhere in the > node hierarchy. That would happen every time after deleting a bookmark > or folder and recreating it in another place. > Since external IDs might be reused, there is a secondary match on > title and URL to ensure that the right node gets deleted. To avoid > costly O(N*M) algorithm (where N is number of bookmarks and M is > number of entries in delete journal), the implementation uses a set > of external IDs to reduce the cost to O(N*logM). > > BUG=456228 > > Committed: https://crrev.com/89fce43a19e7f8b0225a0d750ec3eb3cb0939e3d > Cr-Commit-Position: refs/heads/master@{#315401} TBR=zea@chromium.org,stanisc@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=456228 Committed: https://crrev.com/f44a826b177af9fc9fc3c81590b0cc15267cbf76 Cr-Commit-Position: refs/heads/master@{#315444}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+89 lines, -319 lines) Patch
M chrome/browser/sync/glue/bookmark_model_associator.h View 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/browser/sync/glue/bookmark_model_associator.cc View 9 chunks +76 lines, -123 lines 0 comments Download
M chrome/browser/sync/profile_sync_service_bookmark_unittest.cc View 4 chunks +9 lines, -193 lines 0 comments Download
M sync/internal_api/delete_journal.cc View 1 chunk +0 lines, -2 lines 0 comments Download
M sync/internal_api/public/delete_journal.h View 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 5 (0 generated)
Ryan Hamilton
Created Revert of Use external ID to match native model nodes during bookmark association.
5 years, 10 months ago (2015-02-10 00:05:31 UTC) #1
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/906403003/1
5 years, 10 months ago (2015-02-10 00:06:42 UTC) #2
commit-bot: I haz the power
Committed patchset #1 (id:1)
5 years, 10 months ago (2015-02-10 00:07:30 UTC) #3
commit-bot: I haz the power
Patchset 1 (id:??) landed as https://crrev.com/f44a826b177af9fc9fc3c81590b0cc15267cbf76 Cr-Commit-Position: refs/heads/master@{#315444}
5 years, 10 months ago (2015-02-10 00:08:08 UTC) #4
stanisc
5 years, 10 months ago (2015-02-10 01:58:57 UTC) #5
Message was sent while issue was closed.
I think this test is flaky. I looked at flakiness dashboard. This test
fails regularly with the same error:
sync_app_list_helper.cc(63)] Model item count: 17 != 27
Usually it succeeds on retry, however it didn't succeed in this particular
case.

On Mon, Feb 9, 2015 at 4:08 PM, <commit-bot@chromium.org> wrote:

> Patchset 1 (id:??) landed as
> https://crrev.com/f44a826b177af9fc9fc3c81590b0cc15267cbf76
> Cr-Commit-Position: refs/heads/master@{#315444}
>
> https://codereview.chromium.org/906403003/
>

To unsubscribe from this group and stop receiving emails from it, send an email
to chromium-reviews+unsubscribe@chromium.org.

Powered by Google App Engine
This is Rietveld 408576698