Hi,
We are still trying to solve our poor performance issues here in Dorset and we have found a slight quirk which I wanted to ask folk about.
We have a Tomcat connection timeout of 2 minutes and a control flow timeout of 90 seconds; I believe both of these only apply until the point where the connection is made (i.e. pulled from the queue).
If this is the case then a request can certainly go beyond the 90 seconds as it can wait in the queue for 89 second then be processed for x seconds before being returned. The timeout on the WMS rendering is 60 seconds so theoretically for a WMS render it can take up to 150 seconds assuming the Tomcat timeout doesn’t apply.
The problem comes if you are using the embedded GWC as I believe the 60 second rendering timeout is by-passed if the render should be returned via the embedded GWC. Can someone point me to the correct file where the requests are routed between WMS and GWC?
The only thing I have found so far is https://github.com/geoserver/geoserver/blob/55c4740060eb2b8809ae935a510ac83eeb923313/src/gwc/src/main/java/org/geoserver/gwc/layer/GeoServerTileLayerInfoImpl.java which states that backendTimeout is unused.
Based on my investigation above I have concluded that if the GWC fails to return for minutes (yes that is really happening in a live environment) then in theory my WMS effectively has no timeout at all!
Does this sound correct and if so, can I patch it to use the backendTimeout property?
Thanks,
Paul