[mapguide-internals] Server rendering incomplete tiles - Defect or Feature??

UV uvwild at gmail.com
Sun May 3 22:30:48 EDT 2009


I studied the Stylize Layer code in MappingUtil.cpp.

The exception handler (line 760-790) at the end of the layer loop is 
catching exceptions and not doing anything about it (except logging)
AFAIK this would explain why the server generates incomplete == wrong 
tiles without letting us know about it.
If I is misinterpeted the code please tell me why.

WHATS HAPPENING

Currently, mapping errors including the FDO access are replaced with a 
simple log message
and the layer is omitted from the currently rendered tile. This gives 
all kinds of visual effects on the tile.
On a large map its virtually impossible to identify the wrong tiles. 
Just rerendering might require more than a day.

Currently I believe the server is giving a wrong system response by 
delivering such a faulty tile without note via the API.
This would be a major defect for this special class of use cases.
Furthermore, the relation between the log message and the offending tile 
is very difficult to establish.

If somebody thinks this is correct, please let me know why.

POSSIBLE RESOLUTION
Rethrowing the exception will cause the server to return an exception 
via the HTTP API causing the tile to fail also on the client side.
It will also stall the server eventually, very similar to the current 
situation in that the workerthread will cease to serve requests.


More information about the mapguide-internals mailing list