openstreetmap / openstreetmap/mod_tile

New tiles not created when replag high

Open
#123 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
318
Forks
199
PR merge metrics
No merged PRs in 30d

Description

Currently, I've imported a data extract into a rendering database, and am updating it using openstreetmap-tiles-update-expire, doing an hour's worth every 10 minutes so as not to overload the server. Currently, the state of that according to the relevant log is:

[2016-01-25 12:17:01] 26404 start import from seq-nr 1761684, replag is 21 hour(s)

Using a slippy map if I browse to a previously unrendered area I see as expected

DEBUG: START TILE ajt 15 16080-16087 10696-10703, new metatile

and a metatile is created. If I do a "/status" call on the new data on the map I see:

Tile is clean. Last rendered at Mon Jan 25 12:19:05 2016. Last accessed at Mon Jan 25 12:19:05 2016. Stored in file:///var/lib/mod_tile/ajt/15/0/50/233/220/8.meta

The timestamp on the created metatile file is:

-rw-r--r-- 1 user user 292203 Jan 25 12:19 /var/lib/mod_tile/ajt/15/0/50/233/220/8.meta

I suspect that there's a problem in that that's "now" rather than "21 hours ago" (the age of the data according to replag). If there was a change to that data 6 hours ago, and I browse to that area on the map again, I'm not seeing tiles being re-rendered until an explicit /dirty call on the tile, even in a different browser. I see the effect fairly regularly because I call openstreetmap-tiles-update-expire between certain hours of the day only (for reasons we don't need to go into).

Would it be feasible to set the metatile timestamp to match the replag (and presumably the tile expiry information sent back to the browser too) , or have I got hold of completely the wrong end of the stick here?

EDIT: amended title to try not to be misleading.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with openstreetmap-tiles-update-expire and the /status and /dirty paths described in the report, then trace how replag, metatile timestamps, and browser expiry information are handled. Reproduce the high-replag scenario and determine the expected timestamp and re-rendering behavior before defining a change and its tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.