-
Notifications
You must be signed in to change notification settings - Fork 697
Description
Using version 5.5.0.pre-5
With maptehorn configured as a source for raster-dem using http endpoint with webp tiles, the endpoint returns 404 when tiles are not available at certain zoom levels.
The challenge is that some areas goes to Zoom 17 while others to zoom 12, meaning you get 404 if you query with http at more important zoom level in these areas.
When such situation happens a lot it hungs the creation of raster tiles.
For the record, tilserver-gl is configured with "maxRendererPoolSizes": [6] (running with 8 vCPUs)
and the source used is defined as :
"Mapterhorn": {
"type": "raster-dem",
"url": "https://tiles.mapterhorn.com/tilejson.json"
}
Here is the diag thanks to a claude.ai script :
============================================
HUNG RENDERER DIAGNOSTICS
- Incomplete/Hung Tile Requests:
Looking for tiles with no completion (- - - - ms)...
[sudo] password for lilian:
Found 10250 incomplete tile requests
Last 20 hung requests:
GET /styles/utagawavtt/15/15926/10083.png - - - - ms
GET /styles/utagawavtt/15/15927/10083.png - - - - ms
GET /styles/utagawavtt/15/15924/10082.png - - - - ms
GET /styles/utagawavtt/15/15924/10079.png - - - - ms
GET /styles/utagawavtt/15/15928/10082.png - - - - ms
GET /styles/utagawavtt/15/15930/10082.png - - - - ms
GET /styles/utagawavtt/15/15929/10082.png - - - - ms
GET /styles/utagawavtt/15/15931/10082.png - - - - ms
GET /styles/utagawavtt/15/15926/10078.png - - - - ms
GET /styles/utagawavtt/15/15927/10082.png - - - - ms
GET /styles/utagawavtt/15/15929/10078.png - - - - ms
GET /styles/utagawavtt/15/15928/10078.png - - - - ms
GET /styles/utagawavtt/15/15931/10078.png - - - - ms
GET /styles/utagawavtt/15/15930/10078.png - - - - ms
GET /styles/utagawavtt/15/15927/10078.png - - - - ms
GET /styles/utagawavtt/15/15924/10083.png - - - - ms
GET /styles/utagawavtt/15/15929/10083.png - - - - ms
GET /styles/utagawavtt/15/15928/10083.png - - - - ms
GET /styles/utagawavtt/15/15930/10083.png - - - - ms
GET /styles/utagawavtt/15/15931/10083.png - - - - ms
- Node Process Status:
node 1 0.0 0.0 1008 4 ? Ss 21:29 0:00 /sbin/docker-init -- /usr/src/app/docker-entrypoint.sh
node 7 211 26.5 23495688 8166592 ? Sl 21:29 55:18 node /usr/src/app/
node 13 0.0 0.2 235704 76336 ? Sl 21:29 0:00 Xvfb :99 -nolisten unix
node 5545 0.0 0.0 29272 11608 ? Rsl 21:55 0:00 ps aux
- Checking for Zombie Processes:
✓ No zombie processes
- Process CPU Usage (indicates hung renderers):
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
node 7 211 26.4 23495688 8159796 ? Sl 21:29 55:20 node /usr/src/app/
node 1 0.0 0.0 1008 4 ? Ss 21:29 0:00 /sbin/docker-init -- /usr/src/app/docker-entrypoint.sh
node 13 0.0 0.2 235704 76336 ? Sl 21:29 0:00 Xvfb :99 -nolisten unix
node 5560 0.0 0.0 29272 11592 ? Rsl 21:55 0:00 ps aux --sort=-%cpu
- Renderer Timeout Errors:
Found 85 renderer timeout errors
Recent timeout errors:
Renderer timeout - destroying hung renderer
Renderer timeout - destroying hung renderer
Renderer timeout - destroying hung renderer
Renderer timeout - destroying hung renderer
Renderer timeout - destroying hung renderer
Renderer timeout - destroying hung renderer
Renderer timeout - destroying hung renderer
Renderer timeout - destroying hung renderer
Renderer timeout - destroying hung renderer
Renderer timeout - destroying hung renderer
- Renderer Pool Errors:
Pool not found for scale 1, mode tile
Pool not found for scale 1, mode tile
Pool not found for scale 1, mode tile
Pool not found for scale 1, mode tile
Pool not found for scale 1, mode tile
Pool not found for scale 1, mode tile
- Current Network Connections:
0
Active connections: 0
- Memory State:
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
b1419abe07dd tileserver-gl 548.63% 7.391GiB / 16GiB 46.20% 614MB / 89.4MB 88.7MB / 4.1kB 55
- Testing Renderer Response:
Requesting a simple tile (zoom 3)...
✓ Response received in 6 seconds
File size: 149962 bytes
File type: /tmp/test_renderer.png: PNG image data, 256 x 256, 8-bit/color RGBA, non-interlaced
- Last Successful Renders:
Last 10 successful PNG renders (status 200):
GET /styles/utagawavtt/17/66156/47585.png 200 89644 - 2275.372 ms
GET /styles/utagawavtt/17/66157/47585.png 200 82842 - 1977.783 ms
GET /styles/utagawavtt/17/66158/47585.png 200 96339 - 3915.344 ms
GET /styles/utagawavtt/17/66159/47585.png 200 145833 - 4104.110 ms
GET /styles/utagawavtt/17/66160/47585.png 200 125072 - 2389.927 ms
GET /styles/utagawavtt/17/66161/47585.png 200 132971 - 3186.034 ms
GET /styles/utagawavtt/17/66156/47586.png 200 91042 - 1734.396 ms
GET /styles/utagawavtt/17/66157/47586.png 200 112940 - 1602.282 ms
GET /styles/utagawavtt/17/66158/47586.png 200 123019 - 1520.554 ms
GET /styles/utagawavtt/3/4/2.png 200 149962 - 3555.896 ms
- Error Pattern Analysis:
External fetch errors (404):
Count: 13691
External fetch timeouts:
Count: 179
Header errors:
Count: 0
- Xvfb Display Server Status:
✓ Xvfb is running
node 13 0.0 0.2 235704 76336 ? Sl 21:29 0:00 Xvfb :99 -nolisten unix
============================================
DIAGNOSTIC SUMMARY
⚠ CRITICAL: 10250 hung tile requests detected
Likely causes:
- External tile source (tiles.mapterhorn.com) timing out
- Renderer pool exhausted
- Memory pressure causing slowdowns
Recommended fixes:
- Disable or fix external tile source
- Restart container to clear hung renderers
- Reduce maxRendererPoolSizes in config
⚠ PROBLEM: 13691 external tile 404 errors
The tiles.mapterhorn.com source is failing!
This is causing rendering delays and hangs.
Quick fix: Remove or comment out mapterhorn source in style JSON
⚠ PROBLEM: 179 external fetch timeouts
External tile sources are too slow/unreliable
This blocks the renderer pool
To fix hung renderers immediately:
sudo docker restart tileserver-gl
To prevent future hangs:
- Fix external tile sources (see below)
- Reduce renderer pool size
- Add request timeouts
============================================