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

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.

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.

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 Medium.Jun 15 2017, 7:10 PM
debt subscribed.

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 added a project: Maps-Sprint.
Mholloway subscribed.

Reopening in light of T201772

Mholloway raised the priority of this task from Medium to High.Aug 14 2018, 3:15 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.