Closed Bug 783005 Opened 8 years ago Closed 8 years ago

need a system for deleting pings after N failed attempts


(Toolkit :: Telemetry, defect)

Not set



Tracking Status
firefox17 --- fixed


(Reporter: froydnj, Assigned: froydnj)


(Whiteboard: [qa-])


(1 file)

As noted in bug 715299 comment 1 and 715299 comment 2, we don't have any way of deleting ping data from disk save by sending those pings in.  And if we don't send those pings in (e.g. short sessions, disconnected from the network for a long time, ping server downtime, etc.), they will live on the disk indefinitely, which is bad from a privacy perspective.

We should have a better way of handling this.
We could use timestamps and delete pings > 1 week old
Attached patch patchSplinter Review
Assignee: nobody → nfroyd
Attachment #665552 - Flags: review?(taras.mozilla)
Comment on attachment 665552 [details] [diff] [review]

I think that's ok assuming the other codepath exercises the same expiry code and does not evict saved pings with a more recent timestamp
Attachment #665552 - Flags: review?(taras.mozilla) → review+
(In reply to Taras Glek (:taras) from comment #3)
> I think that's ok assuming the other codepath exercises the same expiry code
> and does not evict saved pings with a more recent timestamp

I made this a little more robust by sticking the check in loadHistograms rather than loadSavedPings; that way the tests exercise the codepath too.  (The tests were subtly wrong before because I rebased incorrectly.)
Closed: 8 years ago
Flags: in-testsuite-
Resolution: --- → FIXED
Target Milestone: --- → mozilla18
Comment on attachment 665552 [details] [diff] [review]

[Approval Request Comment]
Bug caused by (feature/regressing bug #): adding persistent telemetry
User impact if declined: Persistent telemetry was approved on the assumption ping files would be short-lived on disk.  This is not necessarily true with the current system.  Users may have private data exposed through these long-lived ping files.
Testing completed (on m-c, etc.): On m-c for ~2 weeks.
Risk to taking this patch (and alternatives if risky): Low risk.
String or UUID changes made by this patch: None.
Attachment #665552 - Flags: approval-mozilla-aurora?
Comment on attachment 665552 [details] [diff] [review]

approving for aurora . Please land before monday oct 8th merge.
Attachment #665552 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Backed out of aurora for XPCshell bustage

TEST-INFO | (xpcshell/head.js) | exiting test
/Users/cltbld/talos-slave/test/build/xpcshell/tests/toolkit/components/telemetry/tests/unit/test_TelemetryPing.js:87: NS_ERROR_FILE_TARGET_DOES_NOT_EXIST: Component returned failure code: 0x80520006 (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST) [nsIFile.remove]
WARNING: nsExceptionService ignoring thread destruction after shutdown: file ../../../xpcom/base/nsExceptionService.cpp, line 166
Assertion failure: !connections[i]->ConnectionReady(), at ../../../storage/src/mozStorageService.cpp:853


This bug was committed after bug 783054, which included this hunk in test_TelemetryPing.js in one of its patches:

The absence of bug 783054 on aurora accounts for the failure Justin saw.  I felt that this hunk was trivial enough to bring over without asking for re-approval.
Is there something QA can do to verify this fix?
Whiteboard: [qa?]
There's a testcase included in the patch; I don't think there's a need for QA to do anything beyond that.  (Should this be in-testsuite+, then?)
Whiteboard: [qa?] → [qa-]
You need to log in before you can comment on or make changes to this bug.