Opened 10 years ago
Closed 10 years ago
#11555 closed defect (irreproducible)
Tilecache use sometimes scaled tiles instead of existing hires tiles
Reported by: | mdk | Owned by: | mdk |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | Core imagery | Version: | latest |
Keywords: | bing | Cc: |
Description
This is a complex case, I hope I can explain it in a understandable way.
Sometimes single tiles are missing. Especially Bing has sometimes tile server which failed, which cause patterns like
Tiles could be missing on each zoom level.
Assuming the above image use z17 (now we have z17 tiles in the cache) and zooming to z18. If now a tile is missing in z18, the tile cache is smart enough and try to fill the hole with a scaled version from z17.
But instead of replacing only the missing tile in z18, the cache takes a tile (which covered the missing z18 tile) from z17, scale it up to 2 by 2 tiles and use all 4 tiles for display, even if only one tile in z18 is missing! The three existing z18 tiles are ignored and “overwitten” with the scaled z17 tiles.
If you zoom in to z19, every thing could be fine like here (Bing has all z19 tiles, and we have the tiles in our cache):
But it could get even worst. Assuming a tile is missing in z19 and also the tile to fill the hole is missing in z18, the tile cache uses an existing tile from z17 and scale it up to 4 by 4 tiles. And again the cache is now using all 16 scaled tiles instead of the 15 z19 and only uses the scaled tile for the single missing z19 tile.
I found a case, where every thing was fine (see above), but when I scroll the slippy map a little bit to the west, I came to a tile missing as described above. Now the cache replaces a 4 by 4 are with double scaled tiles:
And if you scroll back to the ast, the hires z19 tiles are shown again.
The tile cache should only used scaled tiles if they are missing for a zoom level and not using all scaled tiles if he must scale a tile.
Attachments (4)
Change History (14)
by , 10 years ago
Attachment: | Missing_Bing_tiles.png added |
---|
by , 10 years ago
Attachment: | 2x2_tiles_blurred.png added |
---|
by , 10 years ago
Attachment: | hires_tiles.png added |
---|
by , 10 years ago
Attachment: | 4x4_tiles_blurred.png added |
---|
comment:1 by , 10 years ago
Milestone: | → 15.06 |
---|---|
Owner: | changed from | to
Priority: | normal → minor |
Status: | new → assigned |
follow-up: 5 comment:2 by , 10 years ago
If a tiles failed loading (connection problem, timeout, ...), is there any mechanism that tries to reload the tile?
Bing has some kind of load balancing, where different servers are responsible for a defined set of tiles. If one of this server is down, the delivery of tiles failed for longer time and it looks like MS has no reliable fall back mechanisms. So the missing tile simply didn't appear in usable time. I saw this often, when I map in Nepal. Perhaps other regions, which are more often used, have more redundancy.
comment:5 by , 10 years ago
Owner: | changed from | to
---|---|
Status: | assigned → needinfo |
I've just spent an evening on this but couldn't reproduce the problem. I've a copy of tiles on my local disk, so I can easily do some tests. For this example, assume that the tiles are for z5 to z12.
I've removed one tile from z12. Browsing the map in this place, I can see, that when I'm at z12 or closer, I get only missing tile replaced with the tile from z11. So works as expected. Also - the code looks like it uses part of tile from upper zoom level.
Can you prepare some test case based on 4-16 tiles, where you observe the improper behaviour?
Replying to mdk:
If a tiles failed loading (connection problem, timeout, ...), is there any mechanism that tries to reload the tile?
Bing has some kind of load balancing, where different servers are responsible for a defined set of tiles. If one of this server is down, the delivery of tiles failed for longer time and it looks like MS has no reliable fall back mechanisms. So the missing tile simply didn't appear in usable time. I saw this often, when I map in Nepal. Perhaps other regions, which are more often used, have more redundancy.
To reload the tile, you can use right-click menu action "Load All Tiles" or "Load All Error Tiles" which could do this. Doing this automatically could lead to DoS attack on failing server.
comment:8 by , 10 years ago
Milestone: | 15.08 → 15.09 |
---|
comment:9 by , 10 years ago
Replying to Don-vip:
@mdk: can you still reproduce the problem with latest?
Sorry, I wasn't able to reproduce it the last months. Normally I saw these problems in areas where only a few people use Bing (like Nepal and Lesotho). I think Bing has less or no redundancy there and a server failure will cause the observed missing tile pattern. Because this issue has less priority for me, you can close it. If the problem occurs again, it will surly pop up here again ;-)
comment:10 by , 10 years ago
Keywords: | bing added |
---|---|
Milestone: | 15.09 |
Resolution: | → irreproducible |
Status: | needinfo → closed |
ok thanks :)
Understood, I'll take a look into this. Though I find this of lower priority bug, as once all tiles are downloaded, the image will look good.