Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Review layergroup_seen LRU lifetime and configurability #160

Closed
strk opened this Issue · 5 comments

1 participant

@strk

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

@strk strk added this to the 0.19.1 milestone
@strk strk added the bug label
@strk strk self-assigned this
@strk

It turns out the calls to LRU.get are not keeping the LRU warm enough :/

@strk

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 ;)

@strk

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.

@strk

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....

@strk

So, now that #162 is fixed, the situation is as follows:

  1. Layergroups are considered seen if they are known by redis
  2. Being "seen" means that the tiler does not re-checks validity of it

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.

@strk strk closed this issue from a commit
@strk strk Drop useless LRU cache for "seen" layergroups
"Seen" status is now driven by redis.
Closes #160
121c4fd
@strk strk closed this in 121c4fd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.