Opened on 05/22/2014 at 06:14:49 AM

Closed on 11/12/2014 at 10:15:46 AM

Last modified on 11/26/2014 at 07:16:14 PM

#537 closed change (fixed)

[Downloader] Mark second downloads

Reported by: fhd Assignee: greiner
Priority: P2 Milestone: Adblock-Plus-2.6.7-for-Firefox
Module: Core Keywords: 2014q4
Cc: trev, greiner Blocked By:
Blocking: #536 Platform: Unknown
Ready: yes Confidential: no
Tester: Verified working: no
Review URL(s):

http://codereview.adblockplus.org/6013081427640320/
http://codereview.adblockplus.org/4848713646211072/

Description (last modified by trev)

Background

See #536.

What to change

Downloads made for a resource should add the parameter downloadCount which needs to be incremented for each download and max out at 5+.

Hints for testers

Filter subscription updates should work the same as before, without any user visible changes. The download URLs will have an additional parameter.

Attachments (0)

Change History (17)

comment:1 Changed on 05/22/2014 at 06:24:43 AM by fhd

  • Cc trev added

comment:2 Changed on 05/22/2014 at 07:44:50 AM by fhd

  • Description modified (diff)

comment:3 Changed on 10/06/2014 at 09:35:09 AM by greiner

  • Platform set to Unknown

What about making this more generic and instead of a secondDownload=true add a downloadCount=12 parameter or overloading the lastVersion one (e.g. lastVersion=12/201410060850)? This increases the request's entropy and could allow us to make out usage patterns which at a later point we could use to detect abnormalities.

comment:4 Changed on 10/06/2014 at 11:36:11 AM by trev

I would rather not collect more data than absolutely necessary here. However, I am also afraid that anomalies might not stop at the initial download. So something like downloadCount=5+ might make sense (counting to 5 downloads and sending only 5+ after that). Larger download counts might allow recognizing individual users here and we definitely don't want that.

Note that the additional entropy is also a problem for our server-side processing, it makes caching more problematic.

comment:5 Changed on 10/06/2014 at 11:45:51 AM by fhd

  • Keywords 2014q4 added

comment:6 Changed on 10/06/2014 at 02:22:36 PM by greiner

  • Cc greiner added

comment:7 Changed on 10/15/2014 at 09:34:09 AM by greiner

  • Description modified (diff)
  • Owner set to greiner

comment:8 Changed on 10/22/2014 at 12:05:24 PM by greiner

Actually, one important detail that's missing for implementation of the downloadCount=5+ approach is where to store the counter. In the initially suggested approach the second download would be determined implicitly by checking for the last version to be zero.

Therefore I see the following options:

  • Implement only for second downloads (problem: won't allow us to distinguish downloads 3-5+)
  • Attach counter to downloadables (problem: we currently don't store downloadables)
  • Attach counter to notification data and subscriptions (problem: problematic to reuse code)

None of these options is optimal so let me know if you can think of a better way to store the counter. Otherwise we might want to go with the original approach but for the sake of forwards-compatibility I'd recommend sticking with downloadCount instead of secondDownload.

comment:9 Changed on 11/03/2014 at 12:41:03 PM by trev

In the initially suggested approach the second download would be determined implicitly by checking for the last version to be zero.

No, you cannot distinguish first and second download via lastVersion.

Implement only for second downloads (problem: won't allow us to distinguish downloads 3-5+)

Won't help here, see above.

Attach counter to downloadables (problem: we currently don't store downloadables)

No, downloadables aren't stored directly. They will need the download count as an additional field however.

Attach counter to notification data and subscriptions (problem: problematic to reuse code)

Yes, that's the approach to be chosen here - same as for lastVersion and a bunch of similar fields.

comment:10 Changed on 11/10/2014 at 06:15:16 PM by greiner

  • Review URL(s) modified (diff)
  • Status changed from new to reviewing

comment:11 Changed on 11/11/2014 at 06:10:31 PM by greiner

  • Review URL(s) modified (diff)

comment:12 Changed on 11/12/2014 at 10:15:46 AM by greiner

  • Milestone set to Adblock-Plus-for-Firefox-next
  • Resolution set to fixed
  • Status changed from reviewing to closed

comment:13 Changed on 11/24/2014 at 12:03:04 PM by sven

  • Keywords 2014q4 removed

comment:14 Changed on 11/26/2014 at 02:54:12 PM by fhd

  • Keywords 2014q4 added

comment:15 Changed on 11/26/2014 at 02:56:33 PM by fhd

  • Keywords 2014q4 removed

comment:16 Changed on 11/26/2014 at 03:01:22 PM by fhd

  • Keywords 2014q4 added

comment:17 Changed on 11/26/2014 at 07:16:14 PM by trev

  • Description modified (diff)

Add Comment

Modify Ticket

Change Properties
Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from greiner.
 
Note: See TracTickets for help on using tickets.