[Geoserver-devel] [jira] Created: (GEOS-4064) Rendering exception when enabling multithreading in image pyramid

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