| 1 | = !MapGuide RFC 64 - Enabling strict exception handling for tile generation = |
| 2 | |
| 3 | This page contains an change request (RFC) for the !MapGuide Open Source project. |
| 4 | More !MapGuide RFCs can be found on the [wiki:MapGuideRfcs RFCs] page. |
| 5 | |
| 6 | |
| 7 | == Status == |
| 8 | |
| 9 | ||RFC Template Version||(1.0)|| |
| 10 | ||Submission Date||(08.05.2009)|| |
| 11 | ||Last Modified||(UV Wildner) [[Timestamp]]|| |
| 12 | ||Author||(UV Wildner)|| |
| 13 | ||RFC Status||(draft)|| |
| 14 | ||Implementation Status||(discussion needed)|| |
| 15 | ||Proposed Milestone||(2.1)|| |
| 16 | ||Assigned PSC guide(s)||(when determined)|| |
| 17 | ||'''Voting History'''||(vote date)|| |
| 18 | ||+1|||| |
| 19 | ||+0|||| |
| 20 | ||-0|||| |
| 21 | ||-1|||| |
| 22 | ||no vote|||| |
| 23 | |
| 24 | == Overview == |
| 25 | |
| 26 | Currently an exception thrown during the stylization code for a tile is caught and ignored. |
| 27 | This can lead to partially incomplete tiles which are hard to detect as no error information is passed via the API. |
| 28 | Even worse the tile is kept in the tilecache! |
| 29 | |
| 30 | == Motivation == |
| 31 | |
| 32 | Originally, the mapguide server has been designed as an interactive map generation system. |
| 33 | For the important use case of rendering tiles and filling the tile cache incomplete tiles are undesirable. |
| 34 | in particular keeping the faulty tile in the cache seems the wrong way to go. |
| 35 | |
| 36 | == Proposed Solution == |
| 37 | |
| 38 | A switch in serverconfig.ini should be introduced which can change this behaviour on demand. |
| 39 | e.g. |
| 40 | HandleRenderingErrors = STRICT |
| 41 | |
| 42 | which leaves us room for additional ways to deal with this: |
| 43 | |
| 44 | === render a tile with an error message could be === |
| 45 | |
| 46 | HandleRenderingErrors = SHOW |
| 47 | |
| 48 | === default cases === |
| 49 | |
| 50 | HandleRenderingErrors = IGNORE |
| 51 | |
| 52 | HandleRenderingErrors = DEFAULT |
| 53 | |
| 54 | HandleRenderingErrors = |
| 55 | |
| 56 | and ommitting the parameter would change nothing |
| 57 | |
| 58 | However I think letting the tile into the cache should be generally prohibited in an exception situation. |
| 59 | |
| 60 | == Implications == |
| 61 | |
| 62 | NONE |
| 63 | |
| 64 | == Test Plan == |
| 65 | |
| 66 | Render tiles on a low memory virtual machine which causes memory errors and compare TileCache with different settings |
| 67 | |
| 68 | == Funding/Resources == |
| 69 | |
| 70 | |
| 71 | == closed Issues == |
| 72 | |
| 73 | NONE |
| 74 | |
| 75 | == open Issues == |
| 76 | |
| 77 | Does anyone wants to have faulty tiles in the tile cache? |