Page MenuHomePhabricator

create a process to invalidate an area of map tiles in varnish
Closed, ResolvedPublic

Description

During previous incident (T159631) it would have made sense to invalidate tiles for a part of the globe (Tasmania in that case). We can do a varnish ban based on URL regexes, but this requires to generate the regex for the correct coordinates for all zoom levels (coordinates used for tiles are not lon/lat and change at each zoom level). It might be easier to expose HTTP headers with the lon/lat coordinates of the tile and use those headers for invalidation. Using xkey was suggested, but I'm not sure that xkey really match the problem at hand.

Event Timeline

Gehel created this task.Mar 8 2017, 7:33 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptMar 8 2017, 7:33 PM

I don't see that a regex is really a problem. You'd need one regex per zoom you want to invalidate (or combine them into one regex), but those regexes are simple, just saying that the x and y values have to between maximum and minimum values.

Gehel added a comment.Mar 9 2017, 9:15 AM

It is related but slightly different. T109776: Tilerator should purge Varnish cache is mostly about invalidation during normal operations, while this tasks is about a specific manual process in case of problem.

Gehel added a comment.Mar 9 2017, 9:17 AM

I don't see that a regex is really a problem. You'd need one regex per zoom you want to invalidate (or combine them into one regex), but those regexes are simple, just saying that the x and y values have to between maximum and minimum values.

This isn't necessarily a hard problem, but it is an undocumented one. Regex might be enough, we just need a way to generate those regexes easily (some documentation might be enough).

debt lowered the priority of this task from High to Normal.Jun 15 2017, 7:10 PM
debt added a subscriber: debt.

We'll still need to fix this, but not necessarily a high priority, so that we don't have this problem in the future.

No one else is doing this, so we've decided we don't really *need* this. Which of course will immediately cause a rendering problem where we wish we had it ;)

Mholloway moved this task from Backlog to To-do on the Maps-Sprint board.Jul 3 2018, 4:59 PM
Pnorman closed this task as Declined.Jul 10 2018, 4:38 PM
Mholloway reopened this task as Open.Aug 14 2018, 3:14 PM
Mholloway added a project: Maps-Sprint.
Mholloway added a subscriber: Mholloway.

Reopening in light of T201772

Mholloway raised the priority of this task from Normal to High.Aug 14 2018, 3:15 PM
mxn added a subscriber: mxn.Aug 18 2018, 5:40 PM
Mholloway moved this task from Needs review to Done on the Maps-Sprint board.Aug 22 2018, 8:42 PM
Mholloway moved this task from Done to In progress on the Maps-Sprint board.
Mholloway added a comment.EditedAug 22 2018, 8:57 PM

@Gehel Should P7451 be added to operations/puppet? Maybe it could be updated to take an optional URL regex (list) parameter and/or parameter for a path to a file containing the same.

Stalling this so we can discuss acceptance criteria at the next maps or RI standup.

Rather than let this languish, let's consider P7451 the process (in conjunction with the area-targeted URL generation added in https://github.com/kartotherian/tilerator/commit/93e1b4ecc81a1dca6d16299296d4c133c8d3a19b, where applicable) and call this done.

Mholloway closed this task as Resolved.Nov 6 2018, 4:30 PM