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

Trevor Wekel trevor.wekel at autodesk.com
Mon May 4 13:49:19 EDT 2009


I considered this as part of the original enhanced logging RFC but didn't have time to put it in.  We could add a "TreatWarningsAsErrors" parameter to serverconfig.ini.  People developing maps or generating tiles could turn it on to get non-fatal stylization errors (ie. warnings) to propagate up from the rendering stack.

As Traian mentioned, failing to draw all layers when only one layer fails is not a great solution.  Ideally, the warnings should be propagated all the way to the UI so users will know when there is something wrong with a layer.  That would be an interesting, and non-trivial, RFC.

Thanks,
Trevor

-----Original Message-----
From: mapguide-internals-bounces at lists.osgeo.org [mailto:mapguide-internals-bounces at lists.osgeo.org] On Behalf Of Traian Stanev
Sent: Monday, May 04, 2009 11:18 AM
To: MapGuide Internals Mail List
Subject: RE: [mapguide-internals] Server rendering incomplete tiles - Defect or Feature??


It's classic MapGuide behavior to not take down the whole map because of a single layer -- a single layer that could be having intermittent issues with things like network connectivity to its data source for example. This is because most MapGuide applications have historically been live apps (and not offline tile generators).

Traian


-----Original Message-----
From: mapguide-internals-bounces at lists.osgeo.org [mailto:mapguide-internals-bounces at lists.osgeo.org] On Behalf Of UV
Sent: Sunday, May 03, 2009 10:31 PM
To: MapGuide Internals Mail List
Subject: [mapguide-internals] Server rendering incomplete tiles - Defect or Feature??

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.
_______________________________________________
mapguide-internals mailing list
mapguide-internals at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapguide-internals
_______________________________________________
mapguide-internals mailing list
mapguide-internals at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapguide-internals


More information about the mapguide-internals mailing list