Failure mode of GWC during missing SLD file

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Failure mode of GWC during missing SLD file

Jonathan Moules-2
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):

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

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.
------------------------------------------------------------------------------

_______________________________________________
Geoserver-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: Failure mode of GWC during missing SLD file

jody.garnett
Can you report this to the issue tracker - so it does not get lost?

The GeoServer issue tracker is here:http://jira.codehaus.org/browse/GEOS

CodeHaus uses a single sign on application called "xircles". The geotools guide to be pretty easy to follow: http://docs.geotools.org/latest/userguide/welcome/support.html#issue-tracker



Jody Garnett


On Thu, Aug 14, 2014 at 4:00 AM, Jonathan Moules <[hidden email]> wrote:
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):

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

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.
------------------------------------------------------------------------------

_______________________________________________
Geoserver-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users



------------------------------------------------------------------------------

_______________________________________________
Geoserver-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: Failure mode of GWC during missing SLD file

Jonathan Moules-2
Thanks Jody have now done. I think I'm familiar with the tracker. ;-)

Jonathan Moules

GIS Analyst Programmer,
Corporate GIS,
Warwickshire County Council
Tel: +44 (0)1926 412588, (Internal: 2588)



On 18 August 2014 00:56, Jody Garnett <[hidden email]> wrote:
Can you report this to the issue tracker - so it does not get lost?

The GeoServer issue tracker is here:http://jira.codehaus.org/browse/GEOS

CodeHaus uses a single sign on application called "xircles". The geotools guide to be pretty easy to follow: http://docs.geotools.org/latest/userguide/welcome/support.html#issue-tracker



Jody Garnett


On Thu, Aug 14, 2014 at 4:00 AM, Jonathan Moules <[hidden email]> wrote:
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):

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

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.
------------------------------------------------------------------------------

_______________________________________________
Geoserver-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users




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.
------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Geoserver-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users