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

Issue 1237843003: Revert of Sync: MutableEntry shouldn't track changes that have no actual impact on the stored data (Closed)

Created:
5 years, 5 months ago by loyso (OOO)
Modified:
5 years, 5 months ago
Reviewers:
stanisc, pavely
CC:
chromium-reviews, tim+watch_chromium.org, zea+watch_chromium.org, maxbogue+watch_chromium.org, pvalenzuela+watch_chromium.org, plaree+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 Sync: MutableEntry shouldn't track changes that have no actual impact on the stored data (patchset #1 id:20001 of https://codereview.chromium.org/1237493002/) Reason for revert: Causes crash [19596:1287:0716/172955:FATAL:mutable_entry.cc(260)] Check failed: kernel_->is_dirty(). in Builder Mac10.9 Tests (dbg) https://sheriff-o-matic.appspot.com/chromium/failure/sync_integration_tests%20on%20Mac-10.9%3A%3AMac10.9%20Tests%20(dbg) Original issue's description: > Sync: MutableEntry shouldn't track changes that have no actual impact on the stored data > > This change optimizes MutableEntry and ModelNeutralMutableEntry > methods that update sync data. Most of these methods compare > new and old values and skip the update when the values match. > However most of these methods still unconditionally register EntryKernel > to be tracked in EntryKernelMutation list by making a TrackChangesTo > call, which immediately makes a deep copy of EntryKernel. > Then there is one more deep copy at the end of the > transaction scope. > > This fix avoids the two unnecessary deep copies by calling > TrackChangesTo only when necessary e.g. when the new value > is actually different. > > In addition I used this as an opportunity to do a small code cleanup around > marking MutableEntry instances as dirty. > > BUG=468144 > > Committed: https://crrev.com/193873c7e382f11bf09b6739d07ac82e9dd14fd7 > Cr-Commit-Position: refs/heads/master@{#339162} TBR=pavely@chromium.org,stanisc@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=468144 Committed: https://crrev.com/c2b7877cb6de0670b8d09657f885e22eabfcd914 Cr-Commit-Position: refs/heads/master@{#339192}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+66 lines, -64 lines) Patch
M sync/syncable/model_neutral_mutable_entry.h View 1 chunk +1 line, -1 line 0 comments Download
M sync/syncable/model_neutral_mutable_entry.cc View 13 chunks +42 lines, -40 lines 0 comments Download
M sync/syncable/mutable_entry.cc View 8 chunks +23 lines, -23 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
loyso (OOO)
Created Revert of Sync: MutableEntry shouldn't track changes that have no actual impact on the ...
5 years, 5 months ago (2015-07-17 00:57:11 UTC) #1
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1237843003/1
5 years, 5 months ago (2015-07-17 00:58:21 UTC) #2
commit-bot: I haz the power
Committed patchset #1 (id:1)
5 years, 5 months ago (2015-07-17 00:59:59 UTC) #3
commit-bot: I haz the power
5 years, 5 months ago (2015-07-17 01:00:47 UTC) #4
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/c2b7877cb6de0670b8d09657f885e22eabfcd914
Cr-Commit-Position: refs/heads/master@{#339192}

Powered by Google App Engine
This is Rietveld 408576698