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

Issue 1877083002: [Sync] Moved tab_node_id tracking to session object and improved foreign session garbage collection. (Closed)

Created:
4 years, 8 months ago by skym
Modified:
4 years, 8 months ago
Reviewers:
Nicolas Zea
CC:
chromium-reviews, sync-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[Sync] Moved tab_node_id tracking to session object and improved foreign session garbage collection. Orphaned tabs and empty header nodes were previously completely missed by garbage collection, leading to a bloat of sync data. Additionally, orphan tabs that were added after the header during merge were never cleaned up by the tracker, using memory. These issues should all be resolved, but in order to correctly perform garbage collection of cleaned up session data, the location of tab_node_ids were moved from the SessionTabWrapper to the SyncedSession so that they can be tracked through cleanup calls. Should expect a minor memory improvement for users syncing session data. BUG=599548 Committed: https://crrev.com/199c7fdea8b1652b9ff0d17cdd2989476b63cf5f Cr-Commit-Position: refs/heads/master@{#387391}

Patch Set 1 : #

Total comments: 24

Patch Set 2 : Moved tab_node_ids to session object, resumed aggressive cleanup. #

Total comments: 2

Patch Set 3 : Reverting now inaccurate comments from previous versions. #

Total comments: 9

Patch Set 4 : Updates for zea. #

Total comments: 1

Patch Set 5 : Fixing comment for zea. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+572 lines, -151 lines) Patch
M chrome/browser/sync/glue/session_sync_test_helper.h View 1 2 3 1 chunk +11 lines, -0 lines 0 comments Download
M chrome/browser/sync/glue/session_sync_test_helper.cc View 1 1 chunk +10 lines, -1 line 0 comments Download
M chrome/browser/sync/sessions/sessions_sync_manager_unittest.cc View 1 2 3 4 6 chunks +320 lines, -14 lines 0 comments Download
M components/sync_sessions/sessions_sync_manager.h View 1 2 chunks +5 lines, -1 line 0 comments Download
M components/sync_sessions/sessions_sync_manager.cc View 1 2 3 11 chunks +40 lines, -31 lines 0 comments Download
M components/sync_sessions/synced_session.h View 1 2 3 2 chunks +14 lines, -1 line 0 comments Download
M components/sync_sessions/synced_session_tracker.h View 1 2 3 8 chunks +30 lines, -33 lines 0 comments Download
M components/sync_sessions/synced_session_tracker.cc View 1 2 3 4 13 chunks +68 lines, -49 lines 0 comments Download
M components/sync_sessions/synced_session_tracker_unittest.cc View 1 2 3 6 chunks +74 lines, -21 lines 0 comments Download

Messages

Total messages: 20 (10 generated)
skym
PTAL
4 years, 8 months ago (2016-04-11 23:35:37 UTC) #4
skym
I realized this morning that my changes don't quite work. While we respond to foreign ...
4 years, 8 months ago (2016-04-12 14:37:23 UTC) #6
skym
Fixed the issue with reused tab_node_ids potentially being double deleted. By moving tab_node_ids from SessionTabWrapper ...
4 years, 8 months ago (2016-04-12 16:50:58 UTC) #8
Nicolas Zea
I started some of these comments before the rewrite, so a few may be stale ...
4 years, 8 months ago (2016-04-12 20:38:04 UTC) #9
skym
Updates for zea. https://codereview.chromium.org/1877083002/diff/20001/components/sync_sessions/sessions_sync_manager.cc File components/sync_sessions/sessions_sync_manager.cc (right): https://codereview.chromium.org/1877083002/diff/20001/components/sync_sessions/sessions_sync_manager.cc#newcode519 components/sync_sessions/sessions_sync_manager.cc:519: current_machine_tag() != session.session_tag()) { On 2016/04/12 ...
4 years, 8 months ago (2016-04-12 22:12:14 UTC) #11
Nicolas Zea
LGTM, nice job figuring this out! https://codereview.chromium.org/1877083002/diff/60001/components/sync_sessions/synced_session.h File components/sync_sessions/synced_session.h (right): https://codereview.chromium.org/1877083002/diff/60001/components/sync_sessions/synced_session.h#newcode63 components/sync_sessions/synced_session.h:63: // All of ...
4 years, 8 months ago (2016-04-14 18:17:25 UTC) #12
skym
Fixing comment for zea.
4 years, 8 months ago (2016-04-14 18:43:33 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1877083002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1877083002/120001
4 years, 8 months ago (2016-04-14 18:44:48 UTC) #16
commit-bot: I haz the power
Committed patchset #5 (id:120001)
4 years, 8 months ago (2016-04-14 19:26:56 UTC) #18
commit-bot: I haz the power
4 years, 8 months ago (2016-04-14 19:28:22 UTC) #20
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/199c7fdea8b1652b9ff0d17cdd2989476b63cf5f
Cr-Commit-Position: refs/heads/master@{#387391}

Powered by Google App Engine
This is Rietveld 408576698