Rendering exception when enabling multithreading in image pyramid
-----------------------------------------------------------------
Key: GEOS-4064
URL: http://jira.codehaus.org/browse/GEOS-4064
Project: GeoServer
Issue Type: Bug
Reporter: Andrea Aime
Assignee: Simone Giannecchini
Fix For: 2.0.3
While playing with the natural earth data referred to in GEOS-4262 I enabled multithreaded rendering and I got an exception at the first attempt to render anything:
{code}
Caused by: org.vfny.geoserver.wms.WmsException: Rendering process failed
at org.vfny.geoserver.wms.responses.DefaultRasterMapProducer.produceMap(DefaultRasterMapProducer.java:405)
at org.vfny.geoserver.wms.responses.GetMapResponse.execute(GetMapResponse.java:426)
... 54 more
Caused by: java.lang.Exception: Error rendering feature
at org.geotools.renderer.lite.StreamingRenderer.drawOptimized(StreamingRenderer.java:1956)
at org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:1815)
at org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:722)
at org.geotools.renderer.shape.ShapefileRenderer.renderWithStreamingRenderer(ShapefileRenderer.java:1563)
at org.geotools.renderer.shape.ShapefileRenderer.paint(ShapefileRenderer.java:1404)
at org.vfny.geoserver.wms.responses.DefaultRasterMapProducer.produceMap(DefaultRasterMapProducer.java:381)
... 55 more
Caused by: java.util.concurrent.RejectedExecutionException
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:1768)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:658)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:92)
at org.geotools.gce.imagemosaic.RasterLayerResponse$GranuleIndexVisitor.visitItem(RasterLayerResponse.java:253)
at com.vividsolutions.jts.index.strtree.AbstractSTRtree.query(AbstractSTRtree.java:278)
at com.vividsolutions.jts.index.strtree.AbstractSTRtree.query(AbstractSTRtree.java:239)
at com.vividsolutions.jts.index.strtree.STRtree.query(STRtree.java:208)
at org.geotools.gce.imagemosaic.RasterManager$GranuleCatalog.findFeatures(RasterManager.java:328)
at org.geotools.gce.imagemosaic.RasterManager.getFeaturesFromIndex(RasterManager.java:992)
at org.geotools.gce.imagemosaic.RasterLayerResponse.prepareResponse(RasterLayerResponse.java:664)
at org.geotools.gce.imagemosaic.RasterLayerResponse.processRequest(RasterLayerResponse.java:560)
at org.geotools.gce.imagemosaic.RasterLayerResponse.createResponse(RasterLayerResponse.java:519)
at org.geotools.gce.imagemosaic.RasterManager.read(RasterManager.java:951)
at org.geotools.gce.imagemosaic.ImageMosaicReader.read(ImageMosaicReader.java:421)
at org.geotools.gce.imagepyramid.ImagePyramidReader.loadRequestedTiles(ImagePyramidReader.java:506)
at org.geotools.gce.imagepyramid.ImagePyramidReader.loadTiles(ImagePyramidReader.java:433)
at org.geotools.gce.imagepyramid.ImagePyramidReader.read(ImagePyramidReader.java:372)
at org.geotools.renderer.lite.StreamingRenderer.renderRaster(StreamingRenderer.java:2230)
at org.geotools.renderer.lite.StreamingRenderer.processSymbolizers(StreamingRenderer.java:2113)
at org.geotools.renderer.lite.StreamingRenderer.process(StreamingRenderer.java:2057)
at org.geotools.renderer.lite.StreamingRenderer.drawOptimized(StreamingRenderer.java:1951)
... 60 more
{code}
Disabling multithreading removed the problem. I guess the thread pool should make the various rendering thread wait, whilst in this case it appears to reject the execution? Just blindly guessing
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira