Hi List,
Rather foolishly I yesterday renamed a reference to an SLD in the XML file but forgot to rename the SLD itself.
GeoServer 2.5.2
To replicate this issue, just rename a SLD file using your file manager of choice (I know that’s not best practice, but I’m going to be distributing the SLD’s shortly and wanted to fix a typo).
That SLD should be used as part of a layer that’s in a LayerGroup that GWC uses for TMS requests.
The result of this is that everything works, except GWC won’t respond to any tile requests once the a request for the layergroup with the missing SLD has been made (they’ll work until then).
So the following request fails with a 503 (Service unavailable):
http://compass/geoserver/gwc/service/tms/1.0.0/z_OS_Vector_Basemap/11/1196/751.png8
And that’s for a layergroup that doesn’t use that SLD file at all.
GWC itself was running fine and responding to the home-page query just fine (the one with "Runtime statistics on it).
WMS/WFS getcapabilities are fine (though a WMS request for a layergroup with that bad layer in will obviously fail).
==============
So these issues are raised:
-
Is it supposed to “infect” other GWC requests when this issue is triggered (GWC responds fine until the bad layergroup is called)?
-
Is it supposed to fail this badly? The tile requested was cached by GWC and wouldn’t need re-rendering - it could just have served it with no need of the SLD. I can understand it failing for un-rendered tiles, but this is different. (in theory this seems like scope for optimisation - why check for that stuff in the first place if the file exists?)
Thoughts?
Cheers,
Jonathan
==============
The error in the logs is:
2014-08-14 10:41:58,399 ERROR [geoserver.ows] -
java.io.IOException: No such file: OS Strategi - Polygon - Lakes - Neutral.sld
at org.geoserver.catalog.ResourcePool.getStyle(ResourcePool.java:1609)
at org.geoserver.catalog.impl.StyleInfoImpl.getStyle(StyleInfoImpl.java:84)
at org.geoserver.wms.map.GetMapKvpRequestReader.read(GetMapKvpRequestReader.java:340)
at org.geoserver.wms.map.GetMapKvpRequestReader.read(GetMapKvpRequestReader.java:80)
at org.geoserver.ows.Dispatcher.parseRequestKVP(Dispatcher.java:1428)
at org.geoserver.ows.Dispatcher.dispatch(Dispatcher.java:626)
at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:263)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.geoserver.gwc.GWC.dispatchOwsRequest(GWC.java:1162)
at org.geoserver.gwc.layer.GeoServerTileLayer.dispatchGetMap(GeoServerTileLayer.java:572)
at org.geoserver.gwc.layer.GeoServerTileLayer.getMetatilingReponse(GeoServerTileLayer.java:517)
at org.geoserver.gwc.layer.GeoServerTileLayer.getTile(GeoServerTileLayer.java:466)
at org.geowebcache.GeoWebCacheDispatcher.handleServiceRequest(GeoWebCacheDispatcher.java:363)
at org.geowebcache.GeoWebCacheDispatcher.handleRequestInternal(GeoWebCacheDispatcher.java:254)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.geoserver.gwc.dispatch.GwcServiceProxy.dispatch(GwcServiceProxy.java:97)
at sun.reflect.GeneratedMethodAccessor234.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.geoserver.ows.Dispatcher.execute(Dispatcher.java:790)
at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:272)
…
Followed by:
2014-08-14 10:41:58,414 ERROR [geowebcache.GeoWebCacheDispatcher] - Problem communicating with GeoServer http://compass/geoserver/gwc/service/tms/1.0.0/z_OS_Vector_Basemap_Neutral/12/2394/1298.png8
This transmission is intended for the named addressee(s) only and may contain confidential, sensitive or personal information and should be handled accordingly. Unless you are the named addressee (or authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else. If you have received this transmission in error please notify the sender immediately. All email traffic sent to or from us, including without limitation all GCSX traffic, may be subject to recording and/or monitoring in accordance with relevant legislation.