New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 877951 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , iOS , Chrome , Mac
Pri: 3
Type: Task



Sign in to add a comment

Re-evaluate Sync's garbage collection behavior

Project Member Reported by feuunk@chromium.org, Aug 27

Issue description

Sync currently has two different garbage collection behaviors on the client:

(1) aging out sync entities
This is currently done for Typed Urls , Device Infos, Autofill (autocomplete). These are only used to get the client's sync data base in-sync with the clients native feature DB. For example, the history backend deletes typed URLs after 180 days but the bridge doesn't tell the sync processor about those deleted. That's why the server tells the sync to gc metadata for typed URLs with an age > 180d.

(2) Support full read semantics
For Wallet, we use GarbageCollectionDirective.Type.VERSION_WATERMARK to implement non-incremental sync protocol (ie., full replace)

http://crrev.com/c/1183902 changes the client behavior for GarbageCollectionDirective.Type.VERSION_WATERMARK directives to always clear the data + metadata. However, it seems somewhat hacky to have this behavior for one specific GC directive, and not for others.

That CL also ignores the specific watermark passed in that directive, and always deletes the entire client storage.

We should reconsider the way GC is done in Sync to see if we need these both ways, and if there's a more elegant way to cover the use cases.

If we do decide to keep the current approach, we should at least rename the watermark field for VERSION_WATERMARK directives to make clear that the value isn't read.
 
Labels: -Type-Bug Sync-Triaged OS-Android OS-Chrome OS-iOS OS-Linux OS-Mac OS-Windows Type-Task
Status: Available (was: Untriaged)
Summary of offline discussion:

We will stop using GC directive for the replace-all-data mechanism that Wallet currently used. (tracked in https://bugs.chromium.org/p/chromium/issues/detail?id=881282)

We will also delete the unused MAX_ITEM_COUNT based GC directive. (tracked in https://bugs.chromium.org/p/chromium/issues/detail?id=881286)

We think we also may be able to get rid of GC in general for USS data types, because the client can delete metadata without creating a tombstone, but this requires further discussion, and can be tracked in this bug.

Sign in to add a comment