You can clone with
HTTPS or Subversion.
The time to leave for "layergroup_seen" LRU is currently hard-coded to 60 minutes.
Supposedly this should be 60 minutes of nobody using the layergroup.
In practice they are expiring after 60 minute of first creation always, even if continuously re-posted in a benchmark loop.
It's a bug
It turns out the calls to LRU.get are not keeping the LRU warm enough :/
Ok, now I understand what's going on.
The 60 minutes we're setting are an upper limit on the age of the cache.
No matter how recently the key was used, that limit would make those keys fall off the cache.
I guess we do NOT need that at all.
It's nice because it saves us to expose a new configuration parameter for that ;)
I think I initially used a "maxAge" in case the database structure changed turning a previously-valid MapConfig into a broken one.
Expiring keys would ensure that after expiration, the tiler would raise an error on POST of that map. But before that time, POSTs would still get a successul response while they would fail on fetching tiles/grids.
Another thing I found is that "layergroup_seen" LRU would not be even needed since it uses the same key as the redis MapStore, and indeed the MapStore.save() is failing to return what is documented to return ("known" always being false!).
Filing a spin-off ticket....
So, now that #162 is fixed, the situation is as follows:
At this point, the layergroup_seen LRU can be completely removed.
There will be another issue, but is not new and can very well take another ticket.
Drop useless LRU cache for "seen" layergroups
"Seen" status is now driven by redis.