This ticket was resolved but unless I'm missing something there were no code 
changes.  I think I'm seeing the same behavior when creating large numbers of 
postgis jdbc backed imagemosaic stores using the REST APIs.  After creating a 
few hundred imagemosaic coverages I start seeing log entries about undisposed 
granules in the geoserver log that are noticed during garbage collection.  
Eventually geoserver stops responding but sometimes it recovers possibly due to 
Finalizer cleanup of catalogs during garbage collection cycles.  I back-ported 
the fix for GEOT-6039 (#1930) and set the system property 
"gt2.mosaic.index.trace" for improved logging (below).  I've reviewed the code 
committed for GEOT-6605 but it doesn't appear to address the issue identified 
by Marco in GEOT-6603.  Does anyone know more about this issue and whether 
there is a fix?  I need to patch a system running geotools 17.1/geoserver 2.9.1.

11/11 01:47:39,670 [host] ERROR [org.geotools.jdbc] (Finalizer) There's code 
using JDBC based datastore and not disposing them. This may lead to temporary 
loss of database connections. Please make sure all data access code calls 
DataStore.dispose() before freeing all references to it
11/11 01:47:39,670 [host] WARN  [org.geotools.gce.imagemosaic.catalog] 
(Finalizer) This granule catalog was not properly dispose as it still points 
to:ServiceInfo
 description=Features from JDBCDataStore
11/11 01:47:39,670 [host] WARN  [org.geotools.gce.imagemosaic.catalog] 
(Finalizer) The un-disposed granule catalog originated on this stack trace
java.lang.Throwable
        at 
org.geotools.gce.imagemosaic.catalog.GTDataStoreGranuleCatalog.<init>(GTDataStoreGranuleCatalog.java:254)
        at 
org.geotools.gce.imagemosaic.catalog.GranuleCatalogFactory.createGranuleCatalog(GranuleCatalogFactory.java:140)
        at 
org.geotools.gce.imagemosaic.ImageMosaicReader.initReaderFromURL(ImageMosaicReader.java:609)
        at 
org.geotools.gce.imagemosaic.ImageMosaicReader.<init>(ImageMosaicReader.java:479)
        at 
org.geotools.gce.imagemosaic.ImageMosaicFormat.getReader(ImageMosaicFormat.java:472)
        at 
org.geotools.gce.imagemosaic.ImageMosaicFormat.getReader(ImageMosaicFormat.java:99)
        at 
org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1441)
        at 
org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1342)
        at 
org.geoserver.catalog.impl.CoverageInfoImpl.getGridCoverageReader(CoverageInfoImpl.java:164)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.geoserver.catalog.impl.ModificationProxy.invoke(ModificationProxy.java:147)
        at com.sun.proxy.$Proxy39.getGridCoverageReader(Unknown Source)
        at 
org.geoserver.wms.capabilities.DimensionHelper.handleRasterLayerDimensions(DimensionHelper.java:176)
        at 
org.geoserver.wms.capabilities.Capabilities_1_3_0_Transformer$Capabilities_1_3_0_Translator.handleLayer(Capabilities_1_3_0_Transformer.java:968)
        at 
org.geoserver.wms.capabilities.Capabilities_1_3_0_Transformer$Capabilities_1_3_0_Translator.handleLayerGroup(Capabilities_1_3_0_Transformer.java:1223)
        at 
org.geoserver.wms.capabilities.Capabilities_1_3_0_Transformer$Capabilities_1_3_0_Translator.handleLayerGroups(Capabilities_1_3_0_Transformer.java:1096)
        at 
org.geoserver.wms.capabilities.Capabilities_1_3_0_Transformer$Capabilities_1_3_0_Translator.handleLayers(Capabilities_1_3_0_Transformer.java:709)
        at 
org.geoserver.wms.capabilities.Capabilities_1_3_0_Transformer$Capabilities_1_3_0_Translator.handleCapability(Capabilities_1_3_0_Transformer.java:467)
        at 
org.geoserver.wms.capabilities.Capabilities_1_3_0_Transformer$Capabilities_1_3_0_Translator.encode(Capabilities_1_3_0_Transformer.java:275)
        at 
org.geotools.xml.transform.TransformerBase$XMLReaderSupport.parse(TransformerBase.java:1026)
        at 
org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:485)
        at 
org.geotools.xml.transform.TransformerBase$Task.run(TransformerBase.java:300)
        at 
org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:133)
        at 
org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:112)
        at 
org.geoserver.wms.capabilities.Capabilities_1_3_0_Response.write(Capabilities_1_3_0_Response.java:49)
        at org.geoserver.ows.Dispatcher.response(Dispatcher.java:991)
        at 
org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:272)
        at 
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:147)
        at 
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:50)
        at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
        at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
        at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:968)
        at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:859)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
        at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:844)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)

Thanks,
Tom

________________________________

This communication (including any attachments) may contain information that is 
proprietary, confidential or exempt from disclosure. If you are not the 
intended recipient, please note that further dissemination, distribution, use 
or copying of this communication is strictly prohibited. Anyone who received 
this message in error should notify the sender immediately by telephone or by 
return email and delete it from his or her computer.


_______________________________________________
GeoTools-GT2-Users mailing list
GeoTools-GT2-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to