GeoServer hangs because multi-threaded loader is null
-----------------------------------------------------

                 Key: GEOS-4371
                 URL: http://jira.codehaus.org/browse/GEOS-4371
             Project: GeoServer
          Issue Type: Bug
          Components: Global
    Affects Versions: 2.1-RC1
         Environment: CentOS 5.5, JDK 1.6 64-bit, GeoServer 2.1RC1
            Reporter: Felix LJ Mayer
            Assignee: Andrea Aime


We observed that GeoServer seems to hang. I connected with the debugger and 
found threads were indeed blocked at line 420 of 
org.geotools.gce.imagemosaic.RasterLayerResponse.MosaicBuilder.produce() where 
java.util.concurrent.Future.get() is called. Method Future.get() does not 
return because java.util.concurrent.FutureTask.run() was never called. This is 
happening because while the flag 
org.geotools.gce.imagemosaic.RasterLayerResponse.multithreadingAllowed is true, 
the org.geotools.gce.imagemosaic.ImageMosaicReader.multiThreadedLoader is null. 
Therefore in 
org.geotools.gce.imagemosaic.RasterLayerResponse.MosaicBuilder.visit(GranuleDescriptor,
 Object) the FutureTask is simply added to 
org.geotools.gce.imagemosaic.RasterLayerResponse.MosaicBuilder.tasks, but not 
executed because the 'if' statement in MosaicBuilder.produce() ignores the fact 
that the ImageMosaicReader.multiThreadedLoader is null. 

Note that GeoServer was running in the default configuration and the web 
interface did show valid Thread Pool Executor Settings in the Coverage Access 
Settings. It seems that somehow those settings are not propagated to the 
ImageMosaicReader.

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

        

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to