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.
Description
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Resolved | MaxSem | T159631 Tasmania is covered with water at z10+ | |||
Resolved | • Mholloway | T159977 create a process to invalidate an area of map tiles in varnish |
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.
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).
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 ;)
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.