Hello everyone,
I have a problem with Cascaded WMS’s on GeoServer 2.21.
Some layers frequently report the error ‘Connection reset’ while some layers works fine.
This problem does not occur in a previous version 2.17.1 (using the same geoserver_data directory).
I have tested the latest version 2.22.0 with the same result.
My environment is:
- Windows Server 2016 Standard
- Java: Eclipse Adoptium JRE 11.0.15.10 hotspot
- Tomcat 9.0.65
- GeoServer 2.21
Some Questions:
- Is this a known problem?
- Is there a way of increasing the logging in this area of GeoServer to see if the problem is in GeoServer or in the remote WMS server?
- Any suggestions on how I can investigate this problem further?
Best Regards
Mattias Andrén
16 Dec 10:59:45 ERROR [data.ows] - Failed to execute request http://maps.lantmateriet.se/topowebb/wms/v1?REQUEST=GetMap&FORMAT=image/png&SRS=EPSG:3009&BBOX=147344.0,6594688.0,161680.0,6609024.0&VERSION=1.1.1&STYLES=&SERVICE=WMS&WIDTH=1024&HEIGHT=1024&TRANSPARENT=TRUE&LAYERS=topowebbkartan
16 Dec 10:59:45 ERROR [geoserver.ows] -
org.geoserver.platform.ServiceException: Error rendering coverage on the fast path
at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:303)
at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:205)
at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:82)
at org.geoserver.wms.GetMap.executeInternal(GetMap.java:344)
at org.geoserver.wms.GetMap.run(GetMap.java:203)
at org.geoserver.wms.GetMap.run(GetMap.java:113)
at org.geoserver.wms.DefaultWebMapService.getMap(DefaultWebMapService.java:250)
at jdk.internal.reflect.GeneratedMethodAccessor330.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.geoserver.kml.WebMapServiceKmlInterceptor.invoke(WebMapServiceKmlInterceptor.java:38)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWebMapService.java:57)
at org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWebMapService.java:32)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService.java:74)
at org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService.java:43)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.geoserver.ows.util.RequestObjectLogger.invoke(RequestObjectLogger.java:29)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
at com.sun.proxy.$Proxy125.getMap(Unknown Source)
at jdk.internal.reflect.GeneratedMethodAccessor347.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.geoserver.ows.Dispatcher.execute(Dispatcher.java:867)
at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:268)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:177)
at org.geoserver.gwc.GWC.dispatchOwsRequest(GWC.java:1368)
at org.geoserver.gwc.layer.GeoServerTileLayer.dispatchGetMap(GeoServerTileLayer.java:693)
at org.geoserver.gwc.layer.GeoServerTileLayer.getMetatilingReponse(GeoServerTileLayer.java:613)
at org.geoserver.gwc.layer.GeoServerTileLayer.seedTile(GeoServerTileLayer.java:865)
at org.geowebcache.seed.SeedTask.doActionInternal(SeedTask.java:141)
at org.geowebcache.seed.GWCTask.doAction(GWCTask.java:78)
at org.geowebcache.seed.MTSeeder.call(MTSeeder.java:34)
at org.geowebcache.seed.MTSeeder.call(MTSeeder.java:23)
at org.geoserver.gwc.seed.SeederThreadLocalTransferExecutor.lambda$submit$1(SeederThreadLocalTransferExecutor.java:53)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: org.geoserver.platform.ServiceException: java.net.SocketException: Connection reset
at org.geoserver.wms.map.DirectRasterRenderer.render(DirectRasterRenderer.java:301)
at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:301)
… 43 more
Caused by: java.net.SocketException: Connection reset
at java.base/java.net.SocketInputStream.read(Unknown Source)
at java.base/java.net.SocketInputStream.read(Unknown Source)
at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:282)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:157)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
at org.geotools.http.commons.MultithreadedHttpClient.executeMethod(MultithreadedHttpClient.java:174)
at org.geotools.http.commons.MultithreadedHttpClient.get(MultithreadedHttpClient.java:206)
at org.geotools.http.commons.MultithreadedHttpClient.get(MultithreadedHttpClient.java:186)
at org.geotools.data.ows.AbstractOpenWebService.internalIssueRequest(AbstractOpenWebService.java:455)
at org.geotools.ows.wms.WebMapServer.issueRequest(WebMapServer.java:454)
at org.geotools.ows.wms.map.WMSCoverageReader.getMap(WMSCoverageReader.java:338)
at org.geotools.ows.wms.map.WMSCoverageReader.read(WMSCoverageReader.java:321)
at org.geotools.renderer.lite.gridcoverage2d.GridCoverageReaderHelper.readSingleCoverage(GridCoverageReaderHelper.java:642)
at org.geotools.renderer.lite.gridcoverage2d.GridCoverageReaderHelper.readCoverage(GridCoverageReaderHelper.java:207)
at org.geotools.renderer.lite.gridcoverage2d.GridCoverageRenderer.renderImage(GridCoverageRenderer.java:705)
at org.geotools.renderer.lite.gridcoverage2d.GridCoverageRenderer.renderImage(GridCoverageRenderer.java:668)
at org.geoserver.wms.map.DirectRasterRenderer.readWithProjectionHandling(DirectRasterRenderer.java:720)
at org.geoserver.wms.map.DirectRasterRenderer.render(DirectRasterRenderer.java:245)
… 44 more