DescriptionRevert 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 #
Created: 5 years, 5 months ago
(Patch set is too large to download)
Messages
Total messages: 4 (0 generated)
|