Opened 16 years ago

Last modified 14 years ago

#2541 new enhancement

Skipping layers that fail to load

Reported by: iansan Owned by: sdlime
Priority: normal Milestone: 6.0 release
Component: MapServer C Library Version: unspecified
Severity: normal Keywords:
Cc: pramsey, aboudreault

Description

Currently if a map file contains layers that make database connections and the database is down, a map will never successfully complete.

This is a request for an option at the map and/or layer level to gracefully skip layers that fail to load so that a map can still be generated.

Change History (5)

comment:1 by sdlime, 16 years ago

Milestone: 5.4 release

comment:2 by dmorissette, 14 years ago

Cc: pramsey aboudreault added
Milestone: 5.6 release6.0 release

The CONFIG “ON_MISSING_DATA” “[ACTION]” option was added in RFC-47:

http://mapserver.org/development/rfc/ms-rfc-47.html

I guess it should be extended to work with db connections if that's not the case already.

comment:3 by aboudreault, 14 years ago

I'm going to extend the ON_MISSING_DATA behavior to support this case. I can make the ms*LayerOpen() functions of oracle, mysql and postgis return MS_DONE if the process is terminated for the layer and handle that return code everytime we call msLayerOpen().

comment:4 by aboudreault, 14 years ago

The MS_DONE code will be handled only for the layers of type POSTGIS, ORACLESPATIAL and MYSQL.

comment:5 by aboudreault, 14 years ago

I think this ticket would need a RFC to document the changes. To support the requested feature, the behavior of the msLayerOpen function has to be changed. The new behavior of the function would be that it can return MS_DONE, which has the meaning that the appropriate ms*LayerOpen call fails but the map uses ON_MISSING_DATA IGNORE.

This new return code will have to be handled by the different request types: mode map,nquery and all requests of wms/wfs/etc.. to support properly the ON_MISSING_DATA action.

Steve, Paul, Daniel, I would like to get your opinion on that feature before writing a small RFC.

Note: See TracTickets for help on using tickets.