[Geoserver-devel] [jira] (GEOS-6623) GWC failure mode issue with missing SLD's

Jonathan Moules created an issue

GeoServer / BugGEOS-6623

GWC failure mode issue with missing SLD’s

Issue Type:

BugBug

Affects Versions:

2.5.2

Assignee:

Andrea Aime

Components:

GWC

Created:

20/Aug/14 7:05 AM

Priority:

MajorMajor

Reporter:

Jonathan Moules

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:

  1. Is it supposed to “infect” other GWC requests when this issue is triggered (GWC responds fine until the bad layergroup is called)?

  2. 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?)

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)

> 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

Add Comment

Add Comment

This message was sent by Atlassian JIRA (v6.1.6#6162-sha1:7af547c)

Atlassian logo