Closed Bug 1341923 Opened 8 years ago Closed 8 years ago

Record telemetry on number of tombstones in our collections.

Categories

(Firefox :: Sync, defect)

defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: markh, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

In bug 1332290 we are considering raising the TTL for tombstones to prevent scenarios causing old deleted items to be resurrected. We need to give some indication to operations on how this will impact storage, so knowing an average number of tombstones stored for each collection would be helpful. We can't measure this at the back-end as the deleted flag is in the encrypted payload. On a "first sync" for a device we do read all records from the server, but that's not likely to be helpful (as that is likely to happen when a sync account is young, and hasn't yet accumulated many tombstones.) However, when we perform validation we do read every record on the server, so this might be a good place to record that.
Assignee: nobody → tchiovoloni
Status: NEW → ASSIGNED
Priority: -- → P1
My understanding is that we don't just want this for bookmarks, but since we only really run validation on bookmarks, it's unclear if that's really the right time to do it (it might be). It's also really tempting to do this as an extra property on the validation data (e.g. serverTombstones), but this breaks the invariant that all those should be 0 for a successful validation, which I think we still want to keep since it keeps a lot of stuff simple. Also this (as written) probably needs data-review after you give the r+, but I'll wait until that happens to request it.
Comment on attachment 8844056 [details] Bug 1341923 - Record a telemetry histogram for number of tombstones seen during sync validation https://reviewboard.mozilla.org/r/117612/#review119490 ::: services/sync/modules/bookmark_validator.js:121 (Diff revision 1) > * - clientMissing: Array of ids on the server missing from the client > * - serverMissing: Array of ids on the client missing from the server > * - serverDeleted: Array of ids on the client that the server had marked as deleted. > * - serverUnexpected: Array of ids that appear on the server but shouldn't > * because the client attempts to never upload them. > + * - serverTombstones: Array of tombstones that appear on the server. I don't see this variable being maintained and it looks the same as serverDeleted? ::: services/sync/modules/collection_validator.js:194 (Diff revision 1) > problems.differences.push({ id, differences }); > } > } > } > + > + let histogram = Services.telemetry.getHistogramById("WEAVE_TOMBSTONE_COUNT"); I don't think this will tell us what we want to know. IIUC, what we will end up with is, say, 5 different recordings of the same telemetry histogram, with each value recording a different number (ie, each for a different collection). If it so happens that a validation runs multiple times in a session, that session will record those same values multiple times. I don't see how that would allow us to deduce the average number of tombstones a single account has (which is what we are trying to answer, so ops can work out the cost of extending the TTL for tombstones). Please let me know if I'm wrong though! Data is hard :(
Attachment #8844056 - Flags: review?(markh)
We recently migrated everyone, so there are no tombstones to record. Putting this back into our triage queue for later. We'd still like to know this, but it's not actionable now.
Assignee: tchiovoloni → nobody
Status: ASSIGNED → NEW
Priority: P1 → --
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: