[Geoserver-users] ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hello GIS-Experts,

i am not able to add a store and following create a raster layer with geoserver using the ImageMosaicJDBC. The caracteristic of my Problem is maybe something like a time out of my geoserver application. Previously i have to say that the Problem only occurs if i use the plugin ImageMosaicJDBC.

My Specifications:

Windows Server 2012 (64 Bit) - 2,8 Ghz (2 Processors), 64 GB RAM PostgreSQL 9.3.5 (64 Bit) / PostGIS 2.1.4 (64 Bit) Tomcat 8.0.21 (64 Bit)/ Java 7 (64 Bit) GeoServer 2.7.0 + Image Mosaic JDBC 13.0 Rasterdataset GeoTIFF: 592 Files á 290 MB (sum 165 GB) …(10. 000 x 10.000

Pixels) 0.2 m x 0.2 pixelsize for every dataset.

I have used gdal_retile and the Import function of Image mosaic jdbc like the tutorials of this plugin.

Adding a store in the geoserver application with the Special XML-File i wait nearly one hour. Then the geoserver applications stops reloading/waiting for the new Formular “add raster layer”. In log-files there are NO visible entry according to this error. Geoserver still abort but not shut down - i can navigate in the gui. Looking in my postgresql/postgis using pgadmin i see a Server Status that shows me postgres is not finished selecting the Information for the Image mosaic jdbc plugin…

*I think the Problem could be the big size of my dataset and the fact that geoserver can´t wait until the postgres response the Information to this

plugin.*

The postgres working until now using this command, but the geoserver don´t wait for the response:

select s.location,st_asbinary(st_envelope(s.geom)),s.data from

tile_dop2014rgb_0 s

Has anybody a good idea what i should do know?

By the way - i tested it also on a 32 Bit Server using JAI with only 1 GB of RAM for the Tomcat.

The 64 Bit Tomcat Server got up to 54 GB because the postgres only need up to 2-4 GB for working.

Here are some other questions for better understanding:

  1. Why Image mosaic jdbc calls the full dataset in database using select “all”? Why not call dataset after dataset - maybe it will solve my Problem for big datasets?

  2. JAI is a nativ Extension for Geoserver: Are there any Relations between Image mosaic jdbc and JAI? Are there Advantages use JAI with 32 Bit Java 7 counterpart 64 Bit Java 7 without JAI in Geoserver?

Best regards and thanks!!

André Mende

Hello GIS-Experts,

i have an additional information now describing my problem with an error:

Ran out of memory retrieving query results

2015-04-22 19:03:03,915 ERROR [imagemosaic.jdbc] - Nicht genügend Speicher beim Abholen der Abfrageergebnisse.

org.postgresql.util.PSQLException: Nicht genügend Speicher beim Abholen der Abfrageergebnisse.

at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1898)

at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)

at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:562)

at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:420)

at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:305)

at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)

at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.getPixelResolution(JDBCAccessBase.java:772)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.calculateResolutionsFromDB(JDBCAccessBase.java:482)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.initialize(JDBCAccessBase.java:132)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessFactory.getJDBCAcess(JDBCAccessFactory.java:91)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCReader.(ImageMosaicJDBCReader.java:160)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCFormat.getReader(ImageMosaicJDBCFormat.java:226)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCFormat.getReader(ImageMosaicJDBCFormat.java:68)

at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1436)

at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1364)

at org.geoserver.catalog.impl.CoverageStoreInfoImpl.getGridCoverageReader(CoverageStoreInfoImpl.java:59)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.geoserver.catalog.impl.ModificationProxy.invoke(ModificationProxy.java:146)

at com.sun.proxy.$Proxy8.getGridCoverageReader(Unknown Source)

at org.geoserver.web.data.layer.NewLayerPageProvider.getItemsInternal(NewLayerPageProvider.java:90)

at org.geoserver.web.data.layer.NewLayerPageProvider.getItems(NewLayerPageProvider.java:59)

at org.geoserver.web.data.layer.NewLayerPage$7.onUpdate(NewLayerPage.java:253)

at org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior.onEvent(AjaxFormComponentUpdatingBehavior.java:145)

at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)

at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:300)

at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:119)

at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)

at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)

at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)

at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)

at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)

at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484)

at org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:160)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:159)

at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)

at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)

at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:28)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:75)

at org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:71)

at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:71)

at org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:46)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:50)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)

at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:54)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.geoserver.security.filter.GeoServerUserNamePasswordAuthenticationFilter.doFilter(GeoServerUserNamePasswordAuthenticationFilter.java:116)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)

at org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:53)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)

at org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:135)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:76)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:48)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:44)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)

at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1517)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1474)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Unknown Source)

Caused by: java.lang.OutOfMemoryError: Java heap space

at org.postgresql.core.PGStream.ReceiveTupleV3(PGStream.java:372)

at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1895)

at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)

at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:562)

at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:420)

at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:305)

at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)

at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.getPixelResolution(JDBCAccessBase.java:772)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.calculateResolutionsFromDB(JDBCAccessBase.java:482)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.initialize(JDBCAccessBase.java:132)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessFactory.getJDBCAcess(JDBCAccessFactory.java:91)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCReader.(ImageMosaicJDBCReader.java:160)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCFormat.getReader(ImageMosaicJDBCFormat.java:226)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCFormat.getReader(ImageMosaicJDBCFormat.java:68)

at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1436)

at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1364)

at org.geoserver.catalog.impl.CoverageStoreInfoImpl.getGridCoverageReader(CoverageStoreInfoImpl.java:59)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.geoserver.catalog.impl.ModificationProxy.invoke(ModificationProxy.java:146)

at com.sun.proxy.$Proxy8.getGridCoverageReader(Unknown Source)

at org.geoserver.web.data.layer.NewLayerPageProvider.getItemsInternal(NewLayerPageProvider.java:90)

at org.geoserver.web.data.layer.NewLayerPageProvider.getItems(NewLayerPageProvider.java:59)

at org.geoserver.web.data.layer.NewLayerPage$7.onUpdate(NewLayerPage.java:253)

at org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior.onEvent(AjaxFormComponentUpdatingBehavior.java:145)

at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)

at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:300)

at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:119)

at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)

2015-04-22 19:03:03,915 ERROR [imagemosaic.jdbc] - Nicht genügend Speicher beim Abholen der Abfrageergebnisse.

2015-04-22 19:03:03,915 ERROR [imagemosaic.jdbc] - org.postgresql.util.PSQLException: Nicht genügend Speicher beim Abholen der Abfrageergebnisse.

2015-04-22 19:03:03,915 WARN [imagemosaic.jdbc] - java.io.IOException: org.postgresql.util.PSQLException: Nicht genügend Speicher beim Abholen der Abfrageergebnisse.

java.io.IOException: java.io.IOException: org.postgresql.util.PSQLException: Nicht genügend Speicher beim Abholen der Abfrageergebnisse.

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCReader.(ImageMosaicJDBCReader.java:163)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCFormat.getReader(ImageMosaicJDBCFormat.java:226)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCFormat.getReader(ImageMosaicJDBCFormat.java:68)

at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1436)

at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1364)

at org.geoserver.catalog.impl.CoverageStoreInfoImpl.getGridCoverageReader(CoverageStoreInfoImpl.java:59)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.geoserver.catalog.impl.ModificationProxy.invoke(ModificationProxy.java:146)

at com.sun.proxy.$Proxy8.getGridCoverageReader(Unknown Source)

at org.geoserver.web.data.layer.NewLayerPageProvider.getItemsInternal(NewLayerPageProvider.java:90)

at org.geoserver.web.data.layer.NewLayerPageProvider.getItems(NewLayerPageProvider.java:59)

at org.geoserver.web.data.layer.NewLayerPage$7.onUpdate(NewLayerPage.java:253)

at org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior.onEvent(AjaxFormComponentUpdatingBehavior.java:145)

at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)

at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:300)

at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:119)

at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)

at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)

at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)

at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)

at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)

at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484)

at org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:160)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:159)

at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)

at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)

at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:28)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:75)

at org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:71)

at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:71)

at org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:46)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:50)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)

at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:54)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.geoserver.security.filter.GeoServerUserNamePasswordAuthenticationFilter.doFilter(GeoServerUserNamePasswordAuthenticationFilter.java:116)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)

at org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:53)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)

at org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:135)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:76)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:48)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:44)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)

at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1517)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1474)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Unknown Source)

Caused by: java.io.IOException: org.postgresql.util.PSQLException: Nicht genügend Speicher beim Abholen der Abfrageergebnisse.

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.initialize(JDBCAccessBase.java:150)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessFactory.getJDBCAcess(JDBCAccessFactory.java:91)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCReader.(ImageMosaicJDBCReader.java:160)

… 122 more

Caused by: org.postgresql.util.PSQLException: Nicht genügend Speicher beim Abholen der Abfrageergebnisse.

at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1898)

at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)

at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:562)

at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:420)

at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:305)

at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)

at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.getPixelResolution(JDBCAccessBase.java:772)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.calculateResolutionsFromDB(JDBCAccessBase.java:482)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.initialize(JDBCAccessBase.java:132)

… 124 more

Caused by: java.lang.OutOfMemoryError: Java heap space

at org.postgresql.core.PGStream.ReceiveTupleV3(PGStream.java:372)

at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1895)

at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)

at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:562)

at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:420)

at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:305)

at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)

at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.getPixelResolution(JDBCAccessBase.java:772)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.calculateResolutionsFromDB(JDBCAccessBase.java:482)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.initialize(JDBCAccessBase.java:132)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessFactory.getJDBCAcess(JDBCAccessFactory.java:91)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCReader.(ImageMosaicJDBCReader.java:160)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCFormat.getReader(ImageMosaicJDBCFormat.java:226)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCFormat.getReader(ImageMosaicJDBCFormat.java:68)

at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1436)

at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1364)

at org.geoserver.catalog.impl.CoverageStoreInfoImpl.getGridCoverageReader(CoverageStoreInfoImpl.java:59)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.geoserver.catalog.impl.ModificationProxy.invoke(ModificationProxy.java:146)

at com.sun.proxy.$Proxy8.getGridCoverageReader(Unknown Source)

at org.geoserver.web.data.layer.NewLayerPageProvider.getItemsInternal(NewLayerPageProvider.java:90)

at org.geoserver.web.data.layer.NewLayerPageProvider.getItems(NewLayerPageProvider.java:59)

at org.geoserver.web.data.layer.NewLayerPage$7.onUpdate(NewLayerPage.java:253)

at org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior.onEvent(AjaxFormComponentUpdatingBehavior.java:145)

at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)

at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:300)

at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:119)

at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)

2015-04-22 19:03:03,915 ERROR [geoserver.web] - Error retrieving layers for the specified store

java.lang.RuntimeException: Could not list layers for this store, an error occurred retrieving them: Failed to create reader from file:data/dop2014rgb/dop2014rgb.postgis.xml and hints null

at org.geoserver.web.data.layer.NewLayerPageProvider.getItemsInternal(NewLayerPageProvider.java:151)

at org.geoserver.web.data.layer.NewLayerPageProvider.getItems(NewLayerPageProvider.java:59)

at org.geoserver.web.data.layer.NewLayerPage$7.onUpdate(NewLayerPage.java:253)

at org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior.onEvent(AjaxFormComponentUpdatingBehavior.java:145)

at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)

at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:300)

at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:119)

at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)

at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)

at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)

at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)

at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)

at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484)

at org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:160)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:159)

at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)

at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)

at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:28)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:75)

at org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:71)

at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:71)

at org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:46)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:50)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)

at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:54)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.geoserver.security.filter.GeoServerUserNamePasswordAuthenticationFilter.doFilter(GeoServerUserNamePasswordAuthenticationFilter.java:116)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)

at org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:53)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)

at org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:135)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:76)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:48)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:44)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)

at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1517)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1474)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Unknown Source)

Caused by: java.io.IOException: Failed to create reader from file:data/dop2014rgb/dop2014rgb.postgis.xml and hints null

at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1438)

at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1364)

at org.geoserver.catalog.impl.CoverageStoreInfoImpl.getGridCoverageReader(CoverageStoreInfoImpl.java:59)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.geoserver.catalog.impl.ModificationProxy.invoke(ModificationProxy.java:146)

at com.sun.proxy.$Proxy8.getGridCoverageReader(Unknown Source)

at org.geoserver.web.data.layer.NewLayerPageProvider.getItemsInternal(NewLayerPageProvider.java:90)

… 110 more

Hopefully waiting for good ideas :wink:

Thanks.

Best regards, André Mende

Von: geoserver-users-bounces@lists.sourceforge.net [mailto:geoserver-users-bounces@anonymised.comnet] Im Auftrag von Mende, Andre
Gesendet: Donnerstag, 23. April 2015 09:10
An: ‘geoserver-users@lists.sourceforge.net’
Betreff: [Geoserver-users] ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hello GIS-Experts,

i am not able to add a store and following create a raster layer with geoserver using the ImageMosaicJDBC. The caracteristic of my Problem is maybe something like a time out of my geoserver application. Previously i have to say that the Problem only occurs if i use the plugin ImageMosaicJDBC.

My Specifications:

Windows Server 2012 (64 Bit) - 2,8 Ghz (2 Processors), 64 GB RAM PostgreSQL 9.3.5 (64 Bit) / PostGIS 2.1.4 (64 Bit) Tomcat 8.0.21 (64 Bit)/ Java 7 (64 Bit) GeoServer 2.7.0 + Image Mosaic JDBC 13.0 Rasterdataset GeoTIFF: 592 Files á 290 MB (sum 165 GB) …(10. 000 x 10.000

Pixels) 0.2 m x 0.2 pixelsize for every dataset.

I have used gdal_retile and the Import function of Image mosaic jdbc like the tutorials of this plugin.

Adding a store in the geoserver application with the Special XML-File i wait nearly one hour. Then the geoserver applications stops reloading/waiting for the new Formular “add raster layer”. In log-files there are NO visible entry according to this error. Geoserver still abort but not shut down - i can navigate in the gui. Looking in my postgresql/postgis using pgadmin i see a Server Status that shows me postgres is not finished selecting the Information for the Image mosaic jdbc plugin…

*I think the Problem could be the big size of my dataset and the fact that geoserver can´t wait until the postgres response the Information to this

plugin.*

The postgres working until now using this command, but the geoserver don´t wait for the response:

select s.location,st_asbinary(st_envelope(s.geom)),s.data from

tile_dop2014rgb_0 s

Has anybody a good idea what i should do know?

By the way - i tested it also on a 32 Bit Server using JAI with only 1 GB of RAM for the Tomcat.

The 64 Bit Tomcat Server got up to 54 GB because the postgres only need up to 2-4 GB for working.

Here are some other questions for better understanding:

  1. Why Image mosaic jdbc calls the full dataset in database using select “all”? Why not call dataset after dataset - maybe it will solve my Problem for big datasets?

  2. JAI is a nativ Extension for Geoserver: Are there any Relations between Image mosaic jdbc and JAI? Are there Advantages use JAI with 32 Bit Java 7 counterpart 64 Bit Java 7 without JAI in Geoserver?

Best regards and thanks!!

André Mende

Hi Andre,
from the exception type, it seems that a query with a big resultset is done on PostGIS, and looking at the related code, it also seems that no fetch size is set on the related queries. This make PostgreSQL jdbc drivers load the entire result set in memory, as far as I remember.

I think this can be classified as a bug in the imagemosaic-jdbc module. Can you open a JIRA bug for that?

Thanks
Mauro

···

2015-04-23 10:29 GMT+02:00 Mende, Andre <Andre.Mende@anonymised.com>:

Hello GIS-Experts,

i have an additional information now describing my problem with an error:

Ran out of memory retrieving query results

2015-04-22 19:03:03,915 ERROR [imagemosaic.jdbc] - Nicht genügend Speicher beim Abholen der Abfrageergebnisse.

org.postgresql.util.PSQLException: Nicht genügend Speicher beim Abholen der Abfrageergebnisse.

at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1898)

at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)

at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:562)

at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:420)

at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:305)

at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)

at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.getPixelResolution(JDBCAccessBase.java:772)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.calculateResolutionsFromDB(JDBCAccessBase.java:482)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.initialize(JDBCAccessBase.java:132)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessFactory.getJDBCAcess(JDBCAccessFactory.java:91)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCReader.(ImageMosaicJDBCReader.java:160)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCFormat.getReader(ImageMosaicJDBCFormat.java:226)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCFormat.getReader(ImageMosaicJDBCFormat.java:68)

at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1436)

at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1364)

at org.geoserver.catalog.impl.CoverageStoreInfoImpl.getGridCoverageReader(CoverageStoreInfoImpl.java:59)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.geoserver.catalog.impl.ModificationProxy.invoke(ModificationProxy.java:146)

at com.sun.proxy.$Proxy8.getGridCoverageReader(Unknown Source)

at org.geoserver.web.data.layer.NewLayerPageProvider.getItemsInternal(NewLayerPageProvider.java:90)

at org.geoserver.web.data.layer.NewLayerPageProvider.getItems(NewLayerPageProvider.java:59)

at org.geoserver.web.data.layer.NewLayerPage$7.onUpdate(NewLayerPage.java:253)

at org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior.onEvent(AjaxFormComponentUpdatingBehavior.java:145)

at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)

at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:300)

at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:119)

at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)

at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)

at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)

at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)

at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)

at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484)

at org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:160)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:159)

at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)

at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)

at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:28)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:75)

at org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:71)

at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:71)

at org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:46)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:50)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)

at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:54)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.geoserver.security.filter.GeoServerUserNamePasswordAuthenticationFilter.doFilter(GeoServerUserNamePasswordAuthenticationFilter.java:116)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)

at org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:53)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)

at org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:135)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:76)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:48)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:44)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)

at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1517)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1474)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Unknown Source)

Caused by: java.lang.OutOfMemoryError: Java heap space

at org.postgresql.core.PGStream.ReceiveTupleV3(PGStream.java:372)

at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1895)

at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)

at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:562)

at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:420)

at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:305)

at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)

at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.getPixelResolution(JDBCAccessBase.java:772)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.calculateResolutionsFromDB(JDBCAccessBase.java:482)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.initialize(JDBCAccessBase.java:132)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessFactory.getJDBCAcess(JDBCAccessFactory.java:91)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCReader.(ImageMosaicJDBCReader.java:160)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCFormat.getReader(ImageMosaicJDBCFormat.java:226)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCFormat.getReader(ImageMosaicJDBCFormat.java:68)

at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1436)

at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1364)

at org.geoserver.catalog.impl.CoverageStoreInfoImpl.getGridCoverageReader(CoverageStoreInfoImpl.java:59)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.geoserver.catalog.impl.ModificationProxy.invoke(ModificationProxy.java:146)

at com.sun.proxy.$Proxy8.getGridCoverageReader(Unknown Source)

at org.geoserver.web.data.layer.NewLayerPageProvider.getItemsInternal(NewLayerPageProvider.java:90)

at org.geoserver.web.data.layer.NewLayerPageProvider.getItems(NewLayerPageProvider.java:59)

at org.geoserver.web.data.layer.NewLayerPage$7.onUpdate(NewLayerPage.java:253)

at org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior.onEvent(AjaxFormComponentUpdatingBehavior.java:145)

at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)

at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:300)

at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:119)

at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)

2015-04-22 19:03:03,915 ERROR [imagemosaic.jdbc] - Nicht genügend Speicher beim Abholen der Abfrageergebnisse.

2015-04-22 19:03:03,915 ERROR [imagemosaic.jdbc] - org.postgresql.util.PSQLException: Nicht genügend Speicher beim Abholen der Abfrageergebnisse.

2015-04-22 19:03:03,915 WARN [imagemosaic.jdbc] - java.io.IOException: org.postgresql.util.PSQLException: Nicht genügend Speicher beim Abholen der Abfrageergebnisse.

java.io.IOException: java.io.IOException: org.postgresql.util.PSQLException: Nicht genügend Speicher beim Abholen der Abfrageergebnisse.

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCReader.(ImageMosaicJDBCReader.java:163)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCFormat.getReader(ImageMosaicJDBCFormat.java:226)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCFormat.getReader(ImageMosaicJDBCFormat.java:68)

at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1436)

at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1364)

at org.geoserver.catalog.impl.CoverageStoreInfoImpl.getGridCoverageReader(CoverageStoreInfoImpl.java:59)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.geoserver.catalog.impl.ModificationProxy.invoke(ModificationProxy.java:146)

at com.sun.proxy.$Proxy8.getGridCoverageReader(Unknown Source)

at org.geoserver.web.data.layer.NewLayerPageProvider.getItemsInternal(NewLayerPageProvider.java:90)

at org.geoserver.web.data.layer.NewLayerPageProvider.getItems(NewLayerPageProvider.java:59)

at org.geoserver.web.data.layer.NewLayerPage$7.onUpdate(NewLayerPage.java:253)

at org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior.onEvent(AjaxFormComponentUpdatingBehavior.java:145)

at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)

at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:300)

at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:119)

at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)

at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)

at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)

at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)

at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)

at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484)

at org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:160)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:159)

at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)

at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)

at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:28)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:75)

at org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:71)

at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:71)

at org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:46)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:50)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)

at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:54)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.geoserver.security.filter.GeoServerUserNamePasswordAuthenticationFilter.doFilter(GeoServerUserNamePasswordAuthenticationFilter.java:116)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)

at org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:53)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)

at org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:135)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:76)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:48)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:44)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)

at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1517)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1474)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Unknown Source)

Caused by: java.io.IOException: org.postgresql.util.PSQLException: Nicht genügend Speicher beim Abholen der Abfrageergebnisse.

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.initialize(JDBCAccessBase.java:150)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessFactory.getJDBCAcess(JDBCAccessFactory.java:91)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCReader.(ImageMosaicJDBCReader.java:160)

… 122 more

Caused by: org.postgresql.util.PSQLException: Nicht genügend Speicher beim Abholen der Abfrageergebnisse.

at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1898)

at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)

at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:562)

at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:420)

at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:305)

at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)

at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.getPixelResolution(JDBCAccessBase.java:772)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.calculateResolutionsFromDB(JDBCAccessBase.java:482)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.initialize(JDBCAccessBase.java:132)

… 124 more

Caused by: java.lang.OutOfMemoryError: Java heap space

at org.postgresql.core.PGStream.ReceiveTupleV3(PGStream.java:372)

at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1895)

at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)

at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:562)

at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:420)

at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:305)

at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)

at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.getPixelResolution(JDBCAccessBase.java:772)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.calculateResolutionsFromDB(JDBCAccessBase.java:482)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessBase.initialize(JDBCAccessBase.java:132)

at org.geotools.gce.imagemosaic.jdbc.JDBCAccessFactory.getJDBCAcess(JDBCAccessFactory.java:91)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCReader.(ImageMosaicJDBCReader.java:160)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCFormat.getReader(ImageMosaicJDBCFormat.java:226)

at org.geotools.gce.imagemosaic.jdbc.ImageMosaicJDBCFormat.getReader(ImageMosaicJDBCFormat.java:68)

at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1436)

at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1364)

at org.geoserver.catalog.impl.CoverageStoreInfoImpl.getGridCoverageReader(CoverageStoreInfoImpl.java:59)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.geoserver.catalog.impl.ModificationProxy.invoke(ModificationProxy.java:146)

at com.sun.proxy.$Proxy8.getGridCoverageReader(Unknown Source)

at org.geoserver.web.data.layer.NewLayerPageProvider.getItemsInternal(NewLayerPageProvider.java:90)

at org.geoserver.web.data.layer.NewLayerPageProvider.getItems(NewLayerPageProvider.java:59)

at org.geoserver.web.data.layer.NewLayerPage$7.onUpdate(NewLayerPage.java:253)

at org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior.onEvent(AjaxFormComponentUpdatingBehavior.java:145)

at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)

at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:300)

at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:119)

at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)

2015-04-22 19:03:03,915 ERROR [geoserver.web] - Error retrieving layers for the specified store

java.lang.RuntimeException: Could not list layers for this store, an error occurred retrieving them: Failed to create reader from file:data/dop2014rgb/dop2014rgb.postgis.xml and hints null

at org.geoserver.web.data.layer.NewLayerPageProvider.getItemsInternal(NewLayerPageProvider.java:151)

at org.geoserver.web.data.layer.NewLayerPageProvider.getItems(NewLayerPageProvider.java:59)

at org.geoserver.web.data.layer.NewLayerPage$7.onUpdate(NewLayerPage.java:253)

at org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior.onEvent(AjaxFormComponentUpdatingBehavior.java:145)

at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)

at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:300)

at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:119)

at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)

at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)

at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)

at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)

at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)

at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484)

at org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:160)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:159)

at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)

at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)

at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:28)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:75)

at org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:71)

at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:71)

at org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:46)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:50)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)

at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:54)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.geoserver.security.filter.GeoServerUserNamePasswordAuthenticationFilter.doFilter(GeoServerUserNamePasswordAuthenticationFilter.java:116)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)

at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)

at org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:53)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)

at org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:135)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:76)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:48)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:44)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)

at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1517)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1474)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Unknown Source)

Caused by: java.io.IOException: Failed to create reader from file:data/dop2014rgb/dop2014rgb.postgis.xml and hints null

at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1438)

at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1364)

at org.geoserver.catalog.impl.CoverageStoreInfoImpl.getGridCoverageReader(CoverageStoreInfoImpl.java:59)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.geoserver.catalog.impl.ModificationProxy.invoke(ModificationProxy.java:146)

at com.sun.proxy.$Proxy8.getGridCoverageReader(Unknown Source)

at org.geoserver.web.data.layer.NewLayerPageProvider.getItemsInternal(NewLayerPageProvider.java:90)

… 110 more

Hopefully waiting for good ideas :wink:

Thanks.

Best regards, André Mende

Von: geoserver-users-bounces@lists.sourceforge.net [mailto:geoserver-users-bounces@lists.sourceforge.net] Im Auftrag von Mende, Andre
Gesendet: Donnerstag, 23. April 2015 09:10
An:geoserver-users@lists.sourceforge.net
Betreff: [Geoserver-users] ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hello GIS-Experts,

i am not able to add a store and following create a raster layer with geoserver using the ImageMosaicJDBC. The caracteristic of my Problem is maybe something like a time out of my geoserver application. Previously i have to say that the Problem only occurs if i use the plugin ImageMosaicJDBC.

My Specifications:

Windows Server 2012 (64 Bit) - 2,8 Ghz (2 Processors), 64 GB RAM PostgreSQL 9.3.5 (64 Bit) / PostGIS 2.1.4 (64 Bit) Tomcat 8.0.21 (64 Bit)/ Java 7 (64 Bit) GeoServer 2.7.0 + Image Mosaic JDBC 13.0 Rasterdataset GeoTIFF: 592 Files á 290 MB (sum 165 GB) …(10. 000 x 10.000

Pixels) 0.2 m x 0.2 pixelsize for every dataset.

I have used gdal_retile and the Import function of Image mosaic jdbc like the tutorials of this plugin.

Adding a store in the geoserver application with the Special XML-File i wait nearly one hour. Then the geoserver applications stops reloading/waiting for the new Formular “add raster layer”. In log-files there are NO visible entry according to this error. Geoserver still abort but not shut down - i can navigate in the gui. Looking in my postgresql/postgis using pgadmin i see a Server Status that shows me postgres is not finished selecting the Information for the Image mosaic jdbc plugin…

*I think the Problem could be the big size of my dataset and the fact that geoserver can´t wait until the postgres response the Information to this

plugin.*

The postgres working until now using this command, but the geoserver don´t wait for the response:

select s.location,st_asbinary(st_envelope(s.geom)),s.data from

tile_dop2014rgb_0 s

Has anybody a good idea what i should do know?

By the way - i tested it also on a 32 Bit Server using JAI with only 1 GB of RAM for the Tomcat.

The 64 Bit Tomcat Server got up to 54 GB because the postgres only need up to 2-4 GB for working.

Here are some other questions for better understanding:

  1. Why Image mosaic jdbc calls the full dataset in database using select “all”? Why not call dataset after dataset - maybe it will solve my Problem for big datasets?

  2. JAI is a nativ Extension for Geoserver: Are there any Relations between Image mosaic jdbc and JAI? Are there Advantages use JAI with 32 Bit Java 7 counterpart 64 Bit Java 7 without JAI in Geoserver?

Best regards and thanks!!

André Mende


BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Dott. Mauro Bartolomeoli
@mauro_bart
Senior Software Engineer

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.

Hi Andre,

···

2015-04-23 11:21 GMT+02:00 Mende, Andre <Andre.Mende@anonymised.com…>:

Hi Mauro,

thanks for your explanation. I don´t know where to find the right JIRA bug forum? Do you have an URL for me?

You should be able to go here: https://osgeo-org.atlassian.net/projects/GEOT

From there, click the “Log in” button, then “Create an account”.

Do you think there is an opportunity to contact the programmer of this plugin?

I don’t know who is the mantainer of the imagemosaic-jdbc, if he reads the mailing list, he will probably chime in (for this reason I moved the discussion to the mailing list again, please don’t use private messages for this).

Because I need this function for my gis-infrastructre and mybe I can add some code sniped for faster implementation?

If you can fix the bug yourself and submit a pull request on GitHub, it will be included quickly in the code, I think.

Regards,
Mauro

==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Dott. Mauro Bartolomeoli
@mauro_bart
Senior Software Engineer

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.

Hi all

I am the module maintainer.

Did you try to use the PostGis raster extension.

http://docs.geotools.org/latest/userguide/library/coverage/pgraster.html

Cheers
Chrilstian

···

On Thu, Apr 23, 2015 at 11:35 AM, Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

Hi Andre,


BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

2015-04-23 11:21 GMT+02:00 Mende, Andre <Andre.Mende@anonymised.com>:

Hi Mauro,

thanks for your explanation. I don´t know where to find the right JIRA bug forum? Do you have an URL for me?

You should be able to go here: https://osgeo-org.atlassian.net/projects/GEOT

From there, click the “Log in” button, then “Create an account”.

Do you think there is an opportunity to contact the programmer of this plugin?

I don’t know who is the mantainer of the imagemosaic-jdbc, if he reads the mailing list, he will probably chime in (for this reason I moved the discussion to the mailing list again, please don’t use private messages for this).

Because I need this function for my gis-infrastructre and mybe I can add some code sniped for faster implementation?

If you can fix the bug yourself and submit a pull request on GitHub, it will be included quickly in the code, I think.

Regards,
Mauro

==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Dott. Mauro Bartolomeoli
@mauro_bart
Senior Software Engineer

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.

DI Christian Mueller MSc (GIS), MSc (IT-Security)
OSS Open Source Solutions GmbH

Hi Christian,

ok i see that i don´t use the right format raster.

Now I have imported my raster files like the tutorial.

But my geoserver fails showing the information in a wms, because of this error:

2015-04-27 10:05:40,962 ERROR [imagemosaic.jdbc] - Decorde error for tile

2015-04-27 10:05:40,962 ERROR [imagemosaic.jdbc] - Can’t create cache file!

javax.imageio.IIOException: Can’t create cache file!

at javax.imageio.ImageIO.createImageInputStream(Unknown Source)

at javax.imageio.ImageIO.read(Unknown Source)

at org.geotools.gce.imagemosaic.jdbc.ImageDecoderThread.run(ImageDecoderThread.java:113)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: java.nio.file.NoSuchFileException: C:\Program Files\Apache Software Foundation\Tomcat 8.0 Tomcat\temp\imageio8971403393129682788.tmp

at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)

at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)

at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)

at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(Unknown Source)

at java.nio.file.Files.newByteChannel(Unknown Source)

at java.nio.file.Files.createFile(Unknown Source)

at java.nio.file.TempFileHelper.create(Unknown Source)

at java.nio.file.TempFileHelper.createTempFile(Unknown Source)

at java.nio.file.Files.createTempFile(Unknown Source)

at javax.imageio.stream.FileCacheImageInputStream.(Unknown Source)

at com.sun.imageio.spi.InputStreamImageInputStreamSpi.createInputStreamInstance(Unknown Source)

What can be the reason for this?

Here are two additional questions for better understanding:

  1. Use ImageMosaicJDBC the JAI native library if it is available?

  2. What is better: Using native JAI and 32 Bit Java with only 1 GB of RAM or Using no native JAI (because it doesn´t exist for 64 Bit) and 64 Bit Java an >32 GB RAM?

  3. Using raster2pgsql there isn´t any geom-column with the spatial attribute only the rast-column for raster information. Should I add the geometry-colum to get a better performance or isn´t it necessary?

Thanks a lot!

Best regards,

André Mende

Von: geoserver-users-bounces@lists.sourceforge.net [mailto:geoserver-users-bounces@lists.sourceforge.net] Im Auftrag von Christian Mueller
Gesendet: Donnerstag, 23. April 2015 13:41
An: Mauro Bartolomeoli
Cc: GeoServer Mailing List List; Mende, Andre
Betreff: Re: [Geoserver-users] ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hi all

I am the module maintainer.

Did you try to use the PostGis raster extension.

http://docs.geotools.org/latest/userguide/library/coverage/pgraster.html

Cheers

Chrilstian

On Thu, Apr 23, 2015 at 11:35 AM, Mauro Bartolomeoli <mauro.bartolomeoli@…1107…> wrote:

Hi Andre,

2015-04-23 11:21 GMT+02:00 Mende, Andre <Andre.Mende@…7031…>:

Hi Mauro,

thanks for your explanation. I don´t know where to find the right JIRA bug forum? Do you have an URL for me?

You should be able to go here: https://osgeo-org.atlassian.net/projects/GEOT

From there, click the “Log in” button, then “Create an account”.

Do you think there is an opportunity to contact the programmer of this plugin?

I don’t know who is the mantainer of the imagemosaic-jdbc, if he reads the mailing list, he will probably chime in (for this reason I moved the discussion to the mailing list again, please don’t use private messages for this).

Because I need this function for my gis-infrastructre and mybe I can add some code sniped for faster implementation?

If you can fix the bug yourself and submit a pull request on GitHub, it will be included quickly in the code, I think.

Regards,

Mauro

==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Dott. Mauro Bartolomeoli

@mauro_bart

Senior Software Engineer

GeoSolutions S.A.S.

Via Poggio alle Viti 1187

55054 Massarosa (LU)

Italy

phone: +39 0584 962313

fax: +39 0584 1660272

http://www.geo-solutions.it

http://twitter.com/geosolutions_it


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF


Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)

OSS Open Source Solutions GmbH

Hi Andre

Has your tomcat user write privileges in C:\Program Files\Apache Software Foundation\Tomcat 8.0 Tomcat\temp ?.

add 1)
The ImageMosaicJDBC is not aware of the JAI native library. If the library is installed correctly it will be used.

add 2)
I never used the native library because I am deploying on IBM P Series (Linux)

add 3)
The raster column has the needed functionality, no reason for an extra geom-column

Cheers
Christian

···

On Mon, Apr 27, 2015 at 10:15 AM, Mende, Andre <Andre.Mende@anonymised.com> wrote:

Hi Christian,

ok i see that i don´t use the right format raster.

Now I have imported my raster files like the tutorial.

But my geoserver fails showing the information in a wms, because of this error:

2015-04-27 10:05:40,962 ERROR [imagemosaic.jdbc] - Decorde error for tile

2015-04-27 10:05:40,962 ERROR [imagemosaic.jdbc] - Can’t create cache file!

javax.imageio.IIOException: Can’t create cache file!

at javax.imageio.ImageIO.createImageInputStream(Unknown Source)

at javax.imageio.ImageIO.read(Unknown Source)

at org.geotools.gce.imagemosaic.jdbc.ImageDecoderThread.run(ImageDecoderThread.java:113)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: java.nio.file.NoSuchFileException: C:\Program Files\Apache Software Foundation\Tomcat 8.0 Tomcat\temp\imageio8971403393129682788.tmp

at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)

at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)

at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)

at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(Unknown Source)

at java.nio.file.Files.newByteChannel(Unknown Source)

at java.nio.file.Files.createFile(Unknown Source)

at java.nio.file.TempFileHelper.create(Unknown Source)

at java.nio.file.TempFileHelper.createTempFile(Unknown Source)

at java.nio.file.Files.createTempFile(Unknown Source)

at javax.imageio.stream.FileCacheImageInputStream.(Unknown Source)

at com.sun.imageio.spi.InputStreamImageInputStreamSpi.createInputStreamInstance(Unknown Source)

What can be the reason for this?

Here are two additional questions for better understanding:

  1. Use ImageMosaicJDBC the JAI native library if it is available?

  2. What is better: Using native JAI and 32 Bit Java with only 1 GB of RAM or Using no native JAI (because it doesn´t exist for 64 Bit) and 64 Bit Java an >32 GB RAM?

  3. Using raster2pgsql there isn´t any geom-column with the spatial attribute only the rast-column for raster information. Should I add the geometry-colum to get a better performance or isn´t it necessary?

Thanks a lot!

Best regards,

André Mende

Von: geoserver-users-bounces@anonymised.comists.sourceforge.net [mailto:geoserver-users-bounces@anonymised.comceforge.net] Im Auftrag von Christian Mueller
Gesendet: Donnerstag, 23. April 2015 13:41
An: Mauro Bartolomeoli
Cc: GeoServer Mailing List List; Mende, Andre
Betreff: Re: [Geoserver-users] ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hi all

I am the module maintainer.

Did you try to use the PostGis raster extension.

http://docs.geotools.org/latest/userguide/library/coverage/pgraster.html

Cheers

Chrilstian

On Thu, Apr 23, 2015 at 11:35 AM, Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

Hi Andre,

2015-04-23 11:21 GMT+02:00 Mende, Andre <Andre.Mende@anonymised.com>:

Hi Mauro,

thanks for your explanation. I don´t know where to find the right JIRA bug forum? Do you have an URL for me?

You should be able to go here: https://osgeo-org.atlassian.net/projects/GEOT

From there, click the “Log in” button, then “Create an account”.

Do you think there is an opportunity to contact the programmer of this plugin?

I don’t know who is the mantainer of the imagemosaic-jdbc, if he reads the mailing list, he will probably chime in (for this reason I moved the discussion to the mailing list again, please don’t use private messages for this).

Because I need this function for my gis-infrastructre and mybe I can add some code sniped for faster implementation?

If you can fix the bug yourself and submit a pull request on GitHub, it will be included quickly in the code, I think.

Regards,

Mauro

==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Dott. Mauro Bartolomeoli

@mauro_bart

Senior Software Engineer

GeoSolutions S.A.S.

Via Poggio alle Viti 1187

55054 Massarosa (LU)

Italy

phone: +39 0584 962313

fax: +39 0584 1660272

http://www.geo-solutions.it

http://twitter.com/geosolutions_it


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF


Geoserver-users mailing list
Geoserver-users@anonymised.comsourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)

OSS Open Source Solutions GmbH


One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)
OSS Open Source Solutions GmbH

Hi Christian,

yes there are write priveleges… but i will look at this again and tell you the answer.

Now some additional ideas/questions would like to discuss.

A GeoServer-user will use this software with high speed and a useful configuration.

Therefore it is very important to know whether a 32 bit geoserver using the jai is faster then a 64 bit geoserver without using jai.

The same background for by second question about the geometry-column for your plugin.

Is it faster if I use the raster-column in a function like st_envelope to get the bounds or maybe we should use a extra column with the geometry bounds because a raster is a fixed information without dynamic change of the borders?

In my opinion I think it is faster to ask the database whether a point is inside a bounding box (geometry column) instead of using a full raster and calculate the borders every time…

Danke/Thanks again…

Greets André

Von: Christian Mueller [mailto:christian.mueller@…5445…]
Gesendet: Montag, 27. April 2015 14:53
An: Mende, Andre
Cc: geoserver-users@lists.sourceforge.net
Betreff: Re: [Geoserver-users] ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hi Andre

Has your tomcat user write privileges in C:\Program Files\Apache Software Foundation\Tomcat 8.0 Tomcat\temp ?.

add 1)

The ImageMosaicJDBC is not aware of the JAI native library. If the library is installed correctly it will be used.

add 2)

I never used the native library because I am deploying on IBM P Series (Linux)

add 3)

The raster column has the needed functionality, no reason for an extra geom-column

Cheers

Christian

On Mon, Apr 27, 2015 at 10:15 AM, Mende, Andre <Andre.Mende@…7031…> wrote:

Hi Christian,

ok i see that i don´t use the right format raster.

Now I have imported my raster files like the tutorial.

But my geoserver fails showing the information in a wms, because of this error:

2015-04-27 10:05:40,962 ERROR [imagemosaic.jdbc] - Decorde error for tile

2015-04-27 10:05:40,962 ERROR [imagemosaic.jdbc] - Can’t create cache file!

javax.imageio.IIOException: Can’t create cache file!

at javax.imageio.ImageIO.createImageInputStream(Unknown Source)

at javax.imageio.ImageIO.read(Unknown Source)

at org.geotools.gce.imagemosaic.jdbc.ImageDecoderThread.run(ImageDecoderThread.java:113)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: java.nio.file.NoSuchFileException: C:\Program Files\Apache Software Foundation\Tomcat 8.0 Tomcat\temp\imageio8971403393129682788.tmp

at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)

at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)

at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)

at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(Unknown Source)

at java.nio.file.Files.newByteChannel(Unknown Source)

at java.nio.file.Files.createFile(Unknown Source)

at java.nio.file.TempFileHelper.create(Unknown Source)

at java.nio.file.TempFileHelper.createTempFile(Unknown Source)

at java.nio.file.Files.createTempFile(Unknown Source)

at javax.imageio.stream.FileCacheImageInputStream.(Unknown Source)

at com.sun.imageio.spi.InputStreamImageInputStreamSpi.createInputStreamInstance(Unknown Source)

What can be the reason for this?

Here are two additional questions for better understanding:

  1. Use ImageMosaicJDBC the JAI native library if it is available?

  2. What is better: Using native JAI and 32 Bit Java with only 1 GB of RAM or Using no native JAI (because it doesn´t exist for 64 Bit) and 64 Bit Java an >32 GB RAM?

  3. Using raster2pgsql there isn´t any geom-column with the spatial attribute only the rast-column for raster information. Should I add the geometry-colum to get a better performance or isn´t it necessary?

Thanks a lot!

Best regards,

André Mende

Von: geoserver-users-bounces@lists.sourceforge.net [mailto:geoserver-users-bounces@lists.sourceforge.net] Im Auftrag von Christian Mueller
Gesendet: Donnerstag, 23. April 2015 13:41
An: Mauro Bartolomeoli
Cc: GeoServer Mailing List List; Mende, Andre
Betreff: Re: [Geoserver-users] ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hi all

I am the module maintainer.

Did you try to use the PostGis raster extension.

http://docs.geotools.org/latest/userguide/library/coverage/pgraster.html

Cheers

Chrilstian

On Thu, Apr 23, 2015 at 11:35 AM, Mauro Bartolomeoli <mauro.bartolomeoli@…1107…> wrote:

Hi Andre,

2015-04-23 11:21 GMT+02:00 Mende, Andre <Andre.Mende@…7031…>:

Hi Mauro,

thanks for your explanation. I don´t know where to find the right JIRA bug forum? Do you have an URL for me?

You should be able to go here: https://osgeo-org.atlassian.net/projects/GEOT

From there, click the “Log in” button, then “Create an account”.

Do you think there is an opportunity to contact the programmer of this plugin?

I don’t know who is the mantainer of the imagemosaic-jdbc, if he reads the mailing list, he will probably chime in (for this reason I moved the discussion to the mailing list again, please don’t use private messages for this).

Because I need this function for my gis-infrastructre and mybe I can add some code sniped for faster implementation?

If you can fix the bug yourself and submit a pull request on GitHub, it will be included quickly in the code, I think.

Regards,

Mauro

==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Dott. Mauro Bartolomeoli

@mauro_bart

Senior Software Engineer

GeoSolutions S.A.S.

Via Poggio alle Viti 1187

55054 Massarosa (LU)

Italy

phone: +39 0584 962313

fax: +39 0584 1660272

http://www.geo-solutions.it

http://twitter.com/geosolutions_it


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF


Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)

OSS Open Source Solutions GmbH


One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)

OSS Open Source Solutions GmbH

On Mon, Apr 27, 2015 at 4:24 PM, Mende, Andre <
Andre.Mende@anonymised.com> wrote:

Hi Christian,

yes there are write priveleges… but i will look at this again and tell you
the answer.

Now some additional ideas/questions would like to discuss.

A GeoServer-user will use this software with high speed and a useful
configuration.

Therefore it is very important to know whether a 32 bit geoserver using
the jai is faster then a 64 bit geoserver without using jai.

The difference in performance between native and non native jai is probably
not very relevant given you setup a poorly performing environment to start
with:
* GeoServer on Windows server is a good 30% slower than on Linux, on the
same hardware (and other GIS software is too, not specific to GeoServer)
* Keeping raster in PostGIS is slower than keeping it on the file system
(Paul Ramsey reiterated that at FOSS4G-NA a few months ago, "keep rasters
  in the database only to perform spatial analys, not to serve them on the
web)
* Postgis raster does not have native overviews (they are going to be added
in the next version), although the imagemosaicjdbc can probably help here,
since it can work as a image pyramid plugin too

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

-------------------------------------------------------

Hi Andre

Did you consider to create one big geotiff file with inner tiling and overviews ?

I think this is the simplest way to support image data.

And here is the Swiss army knife you may need
http://www.gdal.org/

Cheers
Christian

···

On Mon, Apr 27, 2015 at 4:45 PM, Andrea Aime <andrea.aime@anonymised.com07…> wrote:


One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

On Mon, Apr 27, 2015 at 4:24 PM, Mende, Andre <Andre.Mende@anonymised.com> wrote:

Hi Christian,

yes there are write priveleges… but i will look at this again and tell you the answer.

Now some additional ideas/questions would like to discuss.

A GeoServer-user will use this software with high speed and a useful configuration.

Therefore it is very important to know whether a 32 bit geoserver using the jai is faster then a 64 bit geoserver without using jai.

The difference in performance between native and non native jai is probably not very relevant given you setup a poorly performing environment to start with:

  • GeoServer on Windows server is a good 30% slower than on Linux, on the same hardware (and other GIS software is too, not specific to GeoServer)
  • Keeping raster in PostGIS is slower than keeping it on the file system (Paul Ramsey reiterated that at FOSS4G-NA a few months ago, "keep rasters
    in the database only to perform spatial analys, not to serve them on the web)
  • Postgis raster does not have native overviews (they are going to be added in the next version), although the imagemosaicjdbc can probably help here, since it can work as a image pyramid plugin too

Cheers
Andrea

==

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

==

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272

mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


DI Christian Mueller MSc (GIS), MSc (IT-Security)
OSS Open Source Solutions GmbH

Hi Christian and Andrea,

thank you both for your response.

I had used gdal_retile with different pixelsizes 1000x1000, 2000x2000, 5000x5000.

I am interested in the best configuration as a balance between number of rows in database for each pyramidal step and the size of the real image.

@ Andrea:

Do you have this paper of Paul Ramsey or a link with the full results?

@ Christian:

Is it faster if I use the raster-column in a function like st_envelope to get the bounds or maybe we should use a extra column with the geometry bounds because a raster is a fixed information without dynamic change of the borders?

In my opinion I think it is faster to ask the database whether a point is inside a bounding box (geometry column) instead of using a full raster and calculate the borders every time…

Another point: Is there a opportunity only use Image Links in database using ImageMosaicJDBC? (please look at the answer of Andrea last mail)

Now I compress my source images using gdal_retile including compression attribute because i will find the right balance between resolution and image size.

If the process is ready I will tell you some result information. In addition I will test a 32 bit server with JAI and a 64 bit server without JAI which is faster or what´s the differences.

Thanks.

André

Von: Christian Mueller [mailto:christian.mueller@…5445…]
Gesendet: Dienstag, 28. April 2015 11:43
An: Andrea Aime
Cc: Mende, Andre; geoserver-users@lists.sourceforge.net
Betreff: Re: [Geoserver-users] ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hi Andre

Did you consider to create one big geotiff file with inner tiling and overviews ?

I think this is the simplest way to support image data.

And here is the Swiss army knife you may need

http://www.gdal.org/

Cheers

Christian

On Mon, Apr 27, 2015 at 4:45 PM, Andrea Aime <andrea.aime@…1107…> wrote:

On Mon, Apr 27, 2015 at 4:24 PM, Mende, Andre <Andre.Mende@…7031…> wrote:

Hi Christian,

yes there are write priveleges… but i will look at this again and tell you the answer.

Now some additional ideas/questions would like to discuss.

A GeoServer-user will use this software with high speed and a useful configuration.

Therefore it is very important to know whether a 32 bit geoserver using the jai is faster then a 64 bit geoserver without using jai.

The difference in performance between native and non native jai is probably not very relevant given you setup a poorly performing environment to start with:

  • GeoServer on Windows server is a good 30% slower than on Linux, on the same hardware (and other GIS software is too, not specific to GeoServer)

  • Keeping raster in PostGIS is slower than keeping it on the file system (Paul Ramsey reiterated that at FOSS4G-NA a few months ago, "keep rasters

in the database only to perform spatial analys, not to serve them on the web)

  • Postgis raster does not have native overviews (they are going to be added in the next version), although the imagemosaicjdbc can probably help here, since it can work as a image pyramid plugin too

Cheers

Andrea

==

GeoServer Professional Services from the experts! Visit

http://goo.gl/NWWaa2 for more information.

==

Ing. Andrea Aime

@geowolf

Technical Lead

GeoSolutions S.A.S.

Via Poggio alle Viti 1187

55054 Massarosa (LU)

Italy

phone: +39 0584 962313

fax: +39 0584 1660272

mob: +39 339 8844549

http://www.geo-solutions.it

http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.



One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)

OSS Open Source Solutions GmbH

2015-04-28 12:45 GMT+02:00 Mende, Andre <Andre.Mende@anonymised.com>:

@ Andrea:

Do you have this paper of Paul Ramsey or a link with the full results?

Not sure the one indicated by Andrea is included but you can find some
video of Paul presentations here:
http://boundlessgeo.com/2014/09/heading-to-foss4g-2014/

Cheers

Stefano

---------------------------------------------------
41.95581N 12.52854E

http://www.linkedin.com/in/stefanoiacovella

http://twitter.com/#!/Iacovellas

On Tue, Apr 28, 2015 at 12:45 PM, Mende, Andre <
Andre.Mende@anonymised.com> wrote:

@ Andrea:

Do you have this paper of Paul Ramsey or a link with the full results?

There is no paper, it's just something Paul says pretty much every time
postgis raster pops up.
There is a short mention around minute 34:30 -> 35:30 in this year
presentation's video:
https://2015.foss4g-na.org/session/postgis-feature-frenzy

(about databases sweet spot being small random access operations vs bulk
operations)

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

-------------------------------------------------------

Hi Christian again,

Your question was: Did you consider to create one big geotiff file with inner tiling and overviews ?

I addition to my last post I will ask you something about big GeoTIFF with inner tilling and overviews.

Do you mean that I have to create for every tile of my gdal_retile result a inner tilling and overview or should I make one big GeoTIFF (165 GB, maybe 20 GB if I reduce with JPEG-compression) without using gdal_retile?

Thanks.

André

Hi Christian and Andrea,

thank you both for your response.

I had used gdal_retile with different pixelsizes 1000x1000, 2000x2000, 5000x5000.

I am interested in the best configuration as a balance between number of rows in database for each pyramidal step and the size of the real image.

@ Andrea:

Do you have this paper of Paul Ramsey or a link with the full results?

@ Christian:

Is it faster if I use the raster-column in a function like st_envelope to get the bounds or maybe we should use a extra column with the geometry bounds because a raster is a fixed information without dynamic change of the borders?

In my opinion I think it is faster to ask the database whether a point is inside a bounding box (geometry column) instead of using a full raster and calculate the borders every time…

Another point: Is there a opportunity only use Image Links in database using ImageMosaicJDBC? (please look at the answer of Andrea last mail)

Now I compress my source images using gdal_retile including compression attribute because i will find the right balance between resolution and image size.

If the process is ready I will tell you some result information. In addition I will test a 32 bit server with JAI and a 64 bit server without JAI which is faster or what´s the differences.

Thanks.

André

Von: Christian Mueller [mailto:christian.mueller@…5445…]
Gesendet: Dienstag, 28. April 2015 11:43
An: Andrea Aime
Cc: Mende, Andre; geoserver-users@lists.sourceforge.net
Betreff: Re: [Geoserver-users] ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hi Andre

Did you consider to create one big geotiff file with inner tiling and overviews ?

I think this is the simplest way to support image data.

And here is the Swiss army knife you may need

http://www.gdal.org/

Cheers

Christian

On Mon, Apr 27, 2015 at 4:45 PM, Andrea Aime <andrea.aime@…1107…> wrote:

On Mon, Apr 27, 2015 at 4:24 PM, Mende, Andre <Andre.Mende@…7031…> wrote:

Hi Christian,

yes there are write priveleges… but i will look at this again and tell you the answer.

Now some additional ideas/questions would like to discuss.

A GeoServer-user will use this software with high speed and a useful configuration.

Therefore it is very important to know whether a 32 bit geoserver using the jai is faster then a 64 bit geoserver without using jai.

The difference in performance between native and non native jai is probably not very relevant given you setup a poorly performing environment to start with:

  • GeoServer on Windows server is a good 30% slower than on Linux, on the same hardware (and other GIS software is too, not specific to GeoServer)

  • Keeping raster in PostGIS is slower than keeping it on the file system (Paul Ramsey reiterated that at FOSS4G-NA a few months ago, "keep rasters

in the database only to perform spatial analys, not to serve them on the web)

  • Postgis raster does not have native overviews (they are going to be added in the next version), although the imagemosaicjdbc can probably help here, since it can work as a image pyramid plugin too

Cheers

Andrea

==

GeoServer Professional Services from the experts! Visit

http://goo.gl/NWWaa2 for more information.

==

Ing. Andrea Aime

@geowolf

Technical Lead

GeoSolutions S.A.S.

Via Poggio alle Viti 1187

55054 Massarosa (LU)

Italy

phone: +39 0584 962313

fax: +39 0584 1660272

mob: +39 339 8844549

http://www.geo-solutions.it

http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.



One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)

OSS Open Source Solutions GmbH

ATT00001.txt (414 Bytes)

ATT00002.txt (180 Bytes)

Hi Andre

I meant one big GeoTIFF (no use of gdal_retile) with internal compression, tiles , overviews and the CRS. This setup works pretty well for my customers. At the end of the day, you have only one geotiff file and GeoServer works very good with a geotiff file (my experience).

Maybe I can send you some Linux scripts I am using.

What format is your original data ?

Cheers
Christian

···

On Wed, Apr 29, 2015 at 9:49 AM, Mende, Andre <Andre.Mende@anonymised.com> wrote:

Hi Christian again,

Your question was: Did you consider to create one big geotiff file with inner tiling and overviews ?

I addition to my last post I will ask you something about big GeoTIFF with inner tilling and overviews.

Do you mean that I have to create for every tile of my gdal_retile result a inner tilling and overview or should I make one big GeoTIFF (165 GB, maybe 20 GB if I reduce with JPEG-compression) without using gdal_retile?

Thanks.

André

Hi Christian and Andrea,

thank you both for your response.

I had used gdal_retile with different pixelsizes 1000x1000, 2000x2000, 5000x5000.

I am interested in the best configuration as a balance between number of rows in database for each pyramidal step and the size of the real image.

@ Andrea:

Do you have this paper of Paul Ramsey or a link with the full results?

@ Christian:

Is it faster if I use the raster-column in a function like st_envelope to get the bounds or maybe we should use a extra column with the geometry bounds because a raster is a fixed information without dynamic change of the borders?

In my opinion I think it is faster to ask the database whether a point is inside a bounding box (geometry column) instead of using a full raster and calculate the borders every time…

Another point: Is there a opportunity only use Image Links in database using ImageMosaicJDBC? (please look at the answer of Andrea last mail)

Now I compress my source images using gdal_retile including compression attribute because i will find the right balance between resolution and image size.

If the process is ready I will tell you some result information. In addition I will test a 32 bit server with JAI and a 64 bit server without JAI which is faster or what´s the differences.

Thanks.

André

Von: Christian Mueller [mailto:christian.mueller@anonymised.com]
Gesendet: Dienstag, 28. April 2015 11:43
An: Andrea Aime
Cc: Mende, Andre; geoserver-users@lists.sourceforge.net
Betreff: Re: [Geoserver-users] ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hi Andre

Did you consider to create one big geotiff file with inner tiling and overviews ?

I think this is the simplest way to support image data.

And here is the Swiss army knife you may need

http://www.gdal.org/

Cheers

Christian

On Mon, Apr 27, 2015 at 4:45 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:

On Mon, Apr 27, 2015 at 4:24 PM, Mende, Andre <Andre.Mende@anonymised.com> wrote:

Hi Christian,

yes there are write priveleges… but i will look at this again and tell you the answer.

Now some additional ideas/questions would like to discuss.

A GeoServer-user will use this software with high speed and a useful configuration.

Therefore it is very important to know whether a 32 bit geoserver using the jai is faster then a 64 bit geoserver without using jai.

The difference in performance between native and non native jai is probably not very relevant given you setup a poorly performing environment to start with:

  • GeoServer on Windows server is a good 30% slower than on Linux, on the same hardware (and other GIS software is too, not specific to GeoServer)

  • Keeping raster in PostGIS is slower than keeping it on the file system (Paul Ramsey reiterated that at FOSS4G-NA a few months ago, "keep rasters

in the database only to perform spatial analys, not to serve them on the web)

  • Postgis raster does not have native overviews (they are going to be added in the next version), although the imagemosaicjdbc can probably help here, since it can work as a image pyramid plugin too

Cheers

Andrea

==

GeoServer Professional Services from the experts! Visit

http://goo.gl/NWWaa2 for more information.

==

Ing. Andrea Aime

@geowolf

Technical Lead

GeoSolutions S.A.S.

Via Poggio alle Viti 1187

55054 Massarosa (LU)

Italy

phone: +39 0584 962313

fax: +39 0584 1660272

mob: +39 339 8844549

http://www.geo-solutions.it

http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.



One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)

OSS Open Source Solutions GmbH


One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)
OSS Open Source Solutions GmbH

Hi Christian,

ah ok. My original data is GeoTIFF 800 images á 10.000 x 10.000 pixels RGB with 300 MB of each image. If I try to create one big GeoTIFF using gdal_retile I got a memory exception… :wink:

if you have some linux scripts I like to look inside the scripts and hope that I can find some code snips which helps me to configure my geoserver in the right point of view.

Thanks.

André

Von: Christian Mueller [mailto:christian.mueller@…5445…]
Gesendet: Donnerstag, 30. April 2015 17:40
An: Mende, Andre
Cc: geoserver-users@lists.sourceforge.net
Betreff: Re: [Geoserver-users] WG: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hi Andre

I meant one big GeoTIFF (no use of gdal_retile) with internal compression, tiles , overviews and the CRS. This setup works pretty well for my customers. At the end of the day, you have only one geotiff file and GeoServer works very good with a geotiff file (my experience).

Maybe I can send you some Linux scripts I am using.

What format is your original data ?

Cheers

Christian

On Wed, Apr 29, 2015 at 9:49 AM, Mende, Andre <Andre.Mende@…7031…> wrote:

Hi Christian again,

Your question was: Did you consider to create one big geotiff file with inner tiling and overviews ?

I addition to my last post I will ask you something about big GeoTIFF with inner tilling and overviews.

Do you mean that I have to create for every tile of my gdal_retile result a inner tilling and overview or should I make one big GeoTIFF (165 GB, maybe 20 GB if I reduce with JPEG-compression) without using gdal_retile?

Thanks.

André

Hi Christian and Andrea,

thank you both for your response.

I had used gdal_retile with different pixelsizes 1000x1000, 2000x2000, 5000x5000.

I am interested in the best configuration as a balance between number of rows in database for each pyramidal step and the size of the real image.

@ Andrea:

Do you have this paper of Paul Ramsey or a link with the full results?

@ Christian:

Is it faster if I use the raster-column in a function like st_envelope to get the bounds or maybe we should use a extra column with the geometry bounds because a raster is a fixed information without dynamic change of the borders?

In my opinion I think it is faster to ask the database whether a point is inside a bounding box (geometry column) instead of using a full raster and calculate the borders every time…

Another point: Is there a opportunity only use Image Links in database using ImageMosaicJDBC? (please look at the answer of Andrea last mail)

Now I compress my source images using gdal_retile including compression attribute because i will find the right balance between resolution and image size.

If the process is ready I will tell you some result information. In addition I will test a 32 bit server with JAI and a 64 bit server without JAI which is faster or what´s the differences.

Thanks.

André

Von: Christian Mueller [mailto:christian.mueller@…5445…]
Gesendet: Dienstag, 28. April 2015 11:43
An: Andrea Aime
Cc: Mende, Andre; geoserver-users@lists.sourceforge.net
Betreff: Re: [Geoserver-users] ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hi Andre

Did you consider to create one big geotiff file with inner tiling and overviews ?

I think this is the simplest way to support image data.

And here is the Swiss army knife you may need

http://www.gdal.org/

Cheers

Christian

On Mon, Apr 27, 2015 at 4:45 PM, Andrea Aime <andrea.aime@…1107…> wrote:

On Mon, Apr 27, 2015 at 4:24 PM, Mende, Andre <Andre.Mende@…7031…> wrote:

Hi Christian,

yes there are write priveleges… but i will look at this again and tell you the answer.

Now some additional ideas/questions would like to discuss.

A GeoServer-user will use this software with high speed and a useful configuration.

Therefore it is very important to know whether a 32 bit geoserver using the jai is faster then a 64 bit geoserver without using jai.

The difference in performance between native and non native jai is probably not very relevant given you setup a poorly performing environment to start with:

  • GeoServer on Windows server is a good 30% slower than on Linux, on the same hardware (and other GIS software is too, not specific to GeoServer)

  • Keeping raster in PostGIS is slower than keeping it on the file system (Paul Ramsey reiterated that at FOSS4G-NA a few months ago, "keep rasters

in the database only to perform spatial analys, not to serve them on the web)

  • Postgis raster does not have native overviews (they are going to be added in the next version), although the imagemosaicjdbc can probably help here, since it can work as a image pyramid plugin too

Cheers

Andrea

==

GeoServer Professional Services from the experts! Visit

http://goo.gl/NWWaa2 for more information.

==

Ing. Andrea Aime

@geowolf

Technical Lead

GeoSolutions S.A.S.

Via Poggio alle Viti 1187

55054 Massarosa (LU)

Italy

phone: +39 0584 962313

fax: +39 0584 1660272

mob: +39 339 8844549

http://www.geo-solutions.it

http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.



One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)

OSS Open Source Solutions GmbH


One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)

OSS Open Source Solutions GmbH

Hi Andre

Some hints:

To create one big image:

gdal_merge.py -co COMPRESS=LZW -co BIGTIFF=YES -co TILED=YES -pct -o mytiff.tiff --optfile listofimages

where mytiff.tiff is the result and listofimages is a text file containing the name of all your 800 images. (each file name in a separate line).

Then you can add overviews with

http://www.gdal.org/gdaladdo.html

gdaladdo mytiff.tiff 2 4 8 16 32 64

would add 6 overviews to mytiff.

Cheers
Christian

···

On Mon, May 4, 2015 at 10:25 AM, Mende, Andre <Andre.Mende@anonymised.com> wrote:

Hi Christian,

ah ok. My original data is GeoTIFF 800 images á 10.000 x 10.000 pixels RGB with 300 MB of each image. If I try to create one big GeoTIFF using gdal_retile I got a memory exception… :wink:

if you have some linux scripts I like to look inside the scripts and hope that I can find some code snips which helps me to configure my geoserver in the right point of view.

Thanks.

André

Von: Christian Mueller [mailto:christian.mueller@anonymised.com]
Gesendet: Donnerstag, 30. April 2015 17:40
An: Mende, Andre
Cc: geoserver-users@lists.sourceforge.net
Betreff: Re: [Geoserver-users] WG: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hi Andre

I meant one big GeoTIFF (no use of gdal_retile) with internal compression, tiles , overviews and the CRS. This setup works pretty well for my customers. At the end of the day, you have only one geotiff file and GeoServer works very good with a geotiff file (my experience).

Maybe I can send you some Linux scripts I am using.

What format is your original data ?

Cheers

Christian

On Wed, Apr 29, 2015 at 9:49 AM, Mende, Andre <Andre.Mende@anonymised.com7031…> wrote:

Hi Christian again,

Your question was: Did you consider to create one big geotiff file with inner tiling and overviews ?

I addition to my last post I will ask you something about big GeoTIFF with inner tilling and overviews.

Do you mean that I have to create for every tile of my gdal_retile result a inner tilling and overview or should I make one big GeoTIFF (165 GB, maybe 20 GB if I reduce with JPEG-compression) without using gdal_retile?

Thanks.

André

Hi Christian and Andrea,

thank you both for your response.

I had used gdal_retile with different pixelsizes 1000x1000, 2000x2000, 5000x5000.

I am interested in the best configuration as a balance between number of rows in database for each pyramidal step and the size of the real image.

@ Andrea:

Do you have this paper of Paul Ramsey or a link with the full results?

@ Christian:

Is it faster if I use the raster-column in a function like st_envelope to get the bounds or maybe we should use a extra column with the geometry bounds because a raster is a fixed information without dynamic change of the borders?

In my opinion I think it is faster to ask the database whether a point is inside a bounding box (geometry column) instead of using a full raster and calculate the borders every time…

Another point: Is there a opportunity only use Image Links in database using ImageMosaicJDBC? (please look at the answer of Andrea last mail)

Now I compress my source images using gdal_retile including compression attribute because i will find the right balance between resolution and image size.

If the process is ready I will tell you some result information. In addition I will test a 32 bit server with JAI and a 64 bit server without JAI which is faster or what´s the differences.

Thanks.

André

Von: Christian Mueller [mailto:christian.mueller@anonymised.com]
Gesendet: Dienstag, 28. April 2015 11:43
An: Andrea Aime
Cc: Mende, Andre; geoserver-users@lists.sourceforge.net
Betreff: Re: [Geoserver-users] ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hi Andre

Did you consider to create one big geotiff file with inner tiling and overviews ?

I think this is the simplest way to support image data.

And here is the Swiss army knife you may need

http://www.gdal.org/

Cheers

Christian

On Mon, Apr 27, 2015 at 4:45 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:

On Mon, Apr 27, 2015 at 4:24 PM, Mende, Andre <Andre.Mende@anonymised.com> wrote:

Hi Christian,

yes there are write priveleges… but i will look at this again and tell you the answer.

Now some additional ideas/questions would like to discuss.

A GeoServer-user will use this software with high speed and a useful configuration.

Therefore it is very important to know whether a 32 bit geoserver using the jai is faster then a 64 bit geoserver without using jai.

The difference in performance between native and non native jai is probably not very relevant given you setup a poorly performing environment to start with:

  • GeoServer on Windows server is a good 30% slower than on Linux, on the same hardware (and other GIS software is too, not specific to GeoServer)

  • Keeping raster in PostGIS is slower than keeping it on the file system (Paul Ramsey reiterated that at FOSS4G-NA a few months ago, "keep rasters

in the database only to perform spatial analys, not to serve them on the web)

  • Postgis raster does not have native overviews (they are going to be added in the next version), although the imagemosaicjdbc can probably help here, since it can work as a image pyramid plugin too

Cheers

Andrea

==

GeoServer Professional Services from the experts! Visit

http://goo.gl/NWWaa2 for more information.

==

Ing. Andrea Aime

@geowolf

Technical Lead

GeoSolutions S.A.S.

Via Poggio alle Viti 1187

55054 Massarosa (LU)

Italy

phone: +39 0584 962313

fax: +39 0584 1660272

mob: +39 339 8844549

http://www.geo-solutions.it

http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.



One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)

OSS Open Source Solutions GmbH


One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@anonymised.comts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)

OSS Open Source Solutions GmbH


One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)
OSS Open Source Solutions GmbH

Hi,

Another way to create a single large image is with gdalwarp. We found this process to be faster than the python method for our use;

Create an input file ($CONVERT_PATH is a fully qualified path to the files to operate against)

Generate a VRT (Virtual raster gdalbuildvrt)

Generate the merged file with gdalwarp

Add overviews (gdaladdo)

ls -1 $CONVERT_PATH/tif/*.tif | grep -ve “$CONVERT_PATH/tif/[0-9]” > $CONVERT_PATH/warpinput.txt

gdalbuildvrt -input_file_list $CONVERT_PATH/warpinput.txt $CONVERT_PATH/merge.vrt

gdalwarp -of GTiff -multi -r cubic --config GDAL_CACHE_MAX 2048 -wm 2048 -et 0 -co TILED=YES -co BIGTIFF=YES –co COMPRESS=LZW -co BLOCKXSIZE=512 -co BLOCKYSIZE=512 -overwrite merge.vrt final.merged.tif

gdaladdo -r gauss --config GDAL_CACHE_MAX 2048 --config COMPRESS_OVERVIEW LZW --config INTERLEAVE_OVERVIEW PIXEL w109n36.onedeg.merged.tif 2 4 8 16 32 64

Chris Snider

Senior Software Engineer

Intelligent Software Solutions, Inc.

Description: Description: Description: cid:image001.png@...5633...

image001.png

···

Hi Andre

Some hints:

To create one big image:

gdal_merge.py -co COMPRESS=LZW -co BIGTIFF=YES -co TILED=YES -pct -o mytiff.tiff --optfile listofimages

where mytiff.tiff is the result and listofimages is a text file containing the name of all your 800 images. (each file name in a separate line).

Then you can add overviews with

http://www.gdal.org/gdaladdo.html

gdaladdo mytiff.tiff 2 4 8 16 32 64

would add 6 overviews to mytiff.

Cheers

Christian

On Mon, May 4, 2015 at 10:25 AM, Mende, Andre <Andre.Mende@…7031…> wrote:

Hi Christian,

ah ok. My original data is GeoTIFF 800 images á 10.000 x 10.000 pixels RGB with 300 MB of each image. If I try to create one big GeoTIFF using gdal_retile I got a memory exception… :wink:

if you have some linux scripts I like to look inside the scripts and hope that I can find some code snips which helps me to configure my geoserver in the right point of view.

Thanks.

André

Von: Christian Mueller [mailto:christian.mueller@…5445…]
Gesendet: Donnerstag, 30. April 2015 17:40
An: Mende, Andre
Cc: geoserver-users@lists.sourceforge.net
Betreff: Re: [Geoserver-users] WG: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hi Andre

I meant one big GeoTIFF (no use of gdal_retile) with internal compression, tiles , overviews and the CRS. This setup works pretty well for my customers. At the end of the day, you have only one geotiff file and GeoServer works very good with a geotiff file (my experience).

Maybe I can send you some Linux scripts I am using.

What format is your original data ?

Cheers

Christian

On Wed, Apr 29, 2015 at 9:49 AM, Mende, Andre <Andre.Mende@…7031…> wrote:

Hi Christian again,

Your question was: Did you consider to create one big geotiff file with inner tiling and overviews ?

I addition to my last post I will ask you something about big GeoTIFF with inner tilling and overviews.

Do you mean that I have to create for every tile of my gdal_retile result a inner tilling and overview or should I make one big GeoTIFF (165 GB, maybe 20 GB if I reduce with JPEG-compression) without using gdal_retile?

Thanks.

André

Hi Christian and Andrea,

thank you both for your response.

I had used gdal_retile with different pixelsizes 1000x1000, 2000x2000, 5000x5000.

I am interested in the best configuration as a balance between number of rows in database for each pyramidal step and the size of the real image.

@ Andrea:

Do you have this paper of Paul Ramsey or a link with the full results?

@ Christian:

Is it faster if I use the raster-column in a function like st_envelope to get the bounds or maybe we should use a extra column with the geometry bounds because a raster is a fixed information without dynamic change of the borders?

In my opinion I think it is faster to ask the database whether a point is inside a bounding box (geometry column) instead of using a full raster and calculate the borders every time…

Another point: Is there a opportunity only use Image Links in database using ImageMosaicJDBC? (please look at the answer of Andrea last mail)

Now I compress my source images using gdal_retile including compression attribute because i will find the right balance between resolution and image size.

If the process is ready I will tell you some result information. In addition I will test a 32 bit server with JAI and a 64 bit server without JAI which is faster or what´s the differences.

Thanks.

André

Von: Christian Mueller [mailto:christian.mueller@…5445…]
Gesendet: Dienstag, 28. April 2015 11:43
An: Andrea Aime
Cc: Mende, Andre; geoserver-users@lists.sourceforge.net
Betreff: Re: [Geoserver-users] ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hi Andre

Did you consider to create one big geotiff file with inner tiling and overviews ?

I think this is the simplest way to support image data.

And here is the Swiss army knife you may need

http://www.gdal.org/

Cheers

Christian

On Mon, Apr 27, 2015 at 4:45 PM, Andrea Aime <andrea.aime@…1107…> wrote:

On Mon, Apr 27, 2015 at 4:24 PM, Mende, Andre <Andre.Mende@…7031…> wrote:

Hi Christian,

yes there are write priveleges… but i will look at this again and tell you the answer.

Now some additional ideas/questions would like to discuss.

A GeoServer-user will use this software with high speed and a useful configuration.

Therefore it is very important to know whether a 32 bit geoserver using the jai is faster then a 64 bit geoserver without using jai.

The difference in performance between native and non native jai is probably not very relevant given you setup a poorly performing environment to start with:

  • GeoServer on Windows server is a good 30% slower than on Linux, on the same hardware (and other GIS software is too, not specific to GeoServer)

  • Keeping raster in PostGIS is slower than keeping it on the file system (Paul Ramsey reiterated that at FOSS4G-NA a few months ago, "keep rasters

in the database only to perform spatial analys, not to serve them on the web)

  • Postgis raster does not have native overviews (they are going to be added in the next version), although the imagemosaicjdbc can probably help here, since it can work as a image pyramid plugin too

Cheers

Andrea

==

GeoServer Professional Services from the experts! Visit

http://goo.gl/NWWaa2 for more information.

==

Ing. Andrea Aime

@geowolf

Technical Lead

GeoSolutions S.A.S.

Via Poggio alle Viti 1187

55054 Massarosa (LU)

Italy

phone: +39 0584 962313

fax: +39 0584 1660272

mob: +39 339 8844549

http://www.geo-solutions.it

http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.



One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)

OSS Open Source Solutions GmbH


One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)

OSS Open Source Solutions GmbH


One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)

OSS Open Source Solutions GmbH

Hi Christian,

i have tested it, but i am not able to insert this one big geotiff (300 GB) in my database because of out of memory error.

Therefore I need support using image mosaic jdbc without importing the raster file only using the path to the image file(s) storing in database.

How to do? Because Paul Ramsey said that I will be an advantage storing the image files not in database only using image path.

Here are my geoserver configurations:

(0) Dataset: source was 165 GB sum with 592 different geotiff á 10.000 x 10.000 pixels.

(1) using gdal_retile with different configurations: everytime COMPRESS=JPEG without shape creation and I create 8 different pyramid layers (0 original data up to 8 overview image).

Processing gdal_retile with 4 different parameters: A) 500x500 pixel, B) 1000x1000 pixels, C) 2000x2000 pixels, D) 5000x5000 pixels

(2) After that I import the 4 different datasets A-D in postgresql 9.3.5/postgis (64 Bit) using raster2pgsql

(3) I have 2 different geoservers in use:

A) Windows Server 2008 32 Bit 4 GB RAM, JAVA 7 32 Bit, GeoServer 2.8 with native JAI/ImageIO and 1 GB java heap space

B) Windows Server 2012 64 BIT 32 GB RAM, JAVA 7 64 Bit, GeoServer 2.8 without JAI/ImageIO and 16 GB java heap space

(4) Using in both geoserver image mosaic jdbc and the WMS has no cache for testing

I have defined 40 different requests for the WMS with different scale factors (1 x 1:250.000, 4 x 1:100.000, and 5 x for each 1:50k, 1:25k, 1:10k, 1:5k, 1:2.5k, 1:1k, 1:0.5k).

The image data type is JPEG. Width/Height is 1.534/776 pixels for request.

Every of the 40 requests a had processed with the 32 and 64 bit geoserver and for each image size (500x500, 1000x1000, 2000x2000, 5000x5000)

Number of Images in database of level 0 (highest resolution):

500x500: 224.944

1000x1000: 56.420

2000x2000: 14.185

5000x5000: 2.309

Here are a sum of my results of yesterday:

Note that I have 40 measures for the mean calculations.

32 Bit

64 Bit

Size

Mean

Min

Max

Mean

Min

Max

500x500

744 ms

328 ms

1797 ms

598 ms

375 ms

1188 ms

1000x1000

907 ms

344 ms

1469 ms

779 ms

437 ms

1125 ms

2000x2000

1501 ms

656 ms

2734 ms

1354 ms

485 ms

2765 ms

5000x5000

5053 ms

469 ms

12919 ms

4118 ms

453 ms

13185 ms

Now I wait for some tipps using image paths for image mosaic jdbc without raster import in database.

Then I will analyse the performance advantages or disadvantages and will publish my full results after I am finished.

Today it is very interesting for me that 225.000 images in database using 500x500 pixel size are faster then 1000x1000 pixel size with only 56.000 images.

And you can see that a small configurated geoserver in 32 bit using native JAI/ImageIO is only a bit slower then the 64 bit example I had tested.

Now I will find out whether the mean of 598 ms (64 Bit, 500x500 pixel size) could be faster if only store the meta data of the images and not the image in database.

Then will look to the libjpeg turbo plugin because this could be accelerate the geoserver requests too.

Best regards,

André

Von: Christian Mueller [mailto:christian.mueller@…5445…]
Gesendet: Montag, 4. Mai 2015 10:59
An: Mende, Andre
Cc: geoserver-users@lists.sourceforge.net
Betreff: Re: [Geoserver-users] WG: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hi Andre

Some hints:

To create one big image:

gdal_merge.py -co COMPRESS=LZW -co BIGTIFF=YES -co TILED=YES -pct -o mytiff.tiff --optfile listofimages

where mytiff.tiff is the result and listofimages is a text file containing the name of all your 800 images. (each file name in a separate line).

Then you can add overviews with

http://www.gdal.org/gdaladdo.html

gdaladdo mytiff.tiff 2 4 8 16 32 64

would add 6 overviews to mytiff.

Cheers

Christian

On Mon, May 4, 2015 at 10:25 AM, Mende, Andre <Andre.Mende@…7031…> wrote:

Hi Christian,

ah ok. My original data is GeoTIFF 800 images á 10.000 x 10.000 pixels RGB with 300 MB of each image. If I try to create one big GeoTIFF using gdal_retile I got a memory exception… :wink:

if you have some linux scripts I like to look inside the scripts and hope that I can find some code snips which helps me to configure my geoserver in the right point of view.

Thanks.

André

Von: Christian Mueller [mailto:christian.mueller@…5445…]
Gesendet: Donnerstag, 30. April 2015 17:40
An: Mende, Andre
Cc: geoserver-users@lists.sourceforge.net
Betreff: Re: [Geoserver-users] WG: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hi Andre

I meant one big GeoTIFF (no use of gdal_retile) with internal compression, tiles , overviews and the CRS. This setup works pretty well for my customers. At the end of the day, you have only one geotiff file and GeoServer works very good with a geotiff file (my experience).

Maybe I can send you some Linux scripts I am using.

What format is your original data ?

Cheers

Christian

On Wed, Apr 29, 2015 at 9:49 AM, Mende, Andre <Andre.Mende@…7031…> wrote:

Hi Christian again,

Your question was: Did you consider to create one big geotiff file with inner tiling and overviews ?

I addition to my last post I will ask you something about big GeoTIFF with inner tilling and overviews.

Do you mean that I have to create for every tile of my gdal_retile result a inner tilling and overview or should I make one big GeoTIFF (165 GB, maybe 20 GB if I reduce with JPEG-compression) without using gdal_retile?

Thanks.

André

Hi Christian and Andrea,

thank you both for your response.

I had used gdal_retile with different pixelsizes 1000x1000, 2000x2000, 5000x5000.

I am interested in the best configuration as a balance between number of rows in database for each pyramidal step and the size of the real image.

@ Andrea:

Do you have this paper of Paul Ramsey or a link with the full results?

@ Christian:

Is it faster if I use the raster-column in a function like st_envelope to get the bounds or maybe we should use a extra column with the geometry bounds because a raster is a fixed information without dynamic change of the borders?

In my opinion I think it is faster to ask the database whether a point is inside a bounding box (geometry column) instead of using a full raster and calculate the borders every time…

Another point: Is there a opportunity only use Image Links in database using ImageMosaicJDBC? (please look at the answer of Andrea last mail)

Now I compress my source images using gdal_retile including compression attribute because i will find the right balance between resolution and image size.

If the process is ready I will tell you some result information. In addition I will test a 32 bit server with JAI and a 64 bit server without JAI which is faster or what´s the differences.

Thanks.

André

Von: Christian Mueller [mailto:christian.mueller@…5445…]
Gesendet: Dienstag, 28. April 2015 11:43
An: Andrea Aime
Cc: Mende, Andre; geoserver-users@lists.sourceforge.net
Betreff: Re: [Geoserver-users] ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hi Andre

Did you consider to create one big geotiff file with inner tiling and overviews ?

I think this is the simplest way to support image data.

And here is the Swiss army knife you may need

http://www.gdal.org/

Cheers

Christian

On Mon, Apr 27, 2015 at 4:45 PM, Andrea Aime <andrea.aime@…1107…> wrote:

On Mon, Apr 27, 2015 at 4:24 PM, Mende, Andre <Andre.Mende@…7031…> wrote:

Hi Christian,

yes there are write priveleges… but i will look at this again and tell you the answer.

Now some additional ideas/questions would like to discuss.

A GeoServer-user will use this software with high speed and a useful configuration.

Therefore it is very important to know whether a 32 bit geoserver using the jai is faster then a 64 bit geoserver without using jai.

The difference in performance between native and non native jai is probably not very relevant given you setup a poorly performing environment to start with:

  • GeoServer on Windows server is a good 30% slower than on Linux, on the same hardware (and other GIS software is too, not specific to GeoServer)

  • Keeping raster in PostGIS is slower than keeping it on the file system (Paul Ramsey reiterated that at FOSS4G-NA a few months ago, "keep rasters

in the database only to perform spatial analys, not to serve them on the web)

  • Postgis raster does not have native overviews (they are going to be added in the next version), although the imagemosaicjdbc can probably help here, since it can work as a image pyramid plugin too

Cheers

Andrea

==

GeoServer Professional Services from the experts! Visit

http://goo.gl/NWWaa2 for more information.

==

Ing. Andrea Aime

@geowolf

Technical Lead

GeoSolutions S.A.S.

Via Poggio alle Viti 1187

55054 Massarosa (LU)

Italy

phone: +39 0584 962313

fax: +39 0584 1660272

mob: +39 339 8844549

http://www.geo-solutions.it

http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.



One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)

OSS Open Source Solutions GmbH


One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)

OSS Open Source Solutions GmbH


One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)

OSS Open Source Solutions GmbH

Hi Andre

No need for imagemosaic jdbc If you serve your image data from one big geotiff. Geoserver can handle geotiff files directly.

Cheers
Christian

···

On Fri, May 8, 2015 at 9:33 AM, Mende, Andre <Andre.Mende@anonymised.com> wrote:

Hi Christian,

i have tested it, but i am not able to insert this one big geotiff (300 GB) in my database because of out of memory error.

Therefore I need support using image mosaic jdbc without importing the raster file only using the path to the image file(s) storing in database.

How to do? Because Paul Ramsey said that I will be an advantage storing the image files not in database only using image path.

Here are my geoserver configurations:

(0) Dataset: source was 165 GB sum with 592 different geotiff á 10.000 x 10.000 pixels.

(1) using gdal_retile with different configurations: everytime COMPRESS=JPEG without shape creation and I create 8 different pyramid layers (0 original data up to 8 overview image).

Processing gdal_retile with 4 different parameters: A) 500x500 pixel, B) 1000x1000 pixels, C) 2000x2000 pixels, D) 5000x5000 pixels

(2) After that I import the 4 different datasets A-D in postgresql 9.3.5/postgis (64 Bit) using raster2pgsql

(3) I have 2 different geoservers in use:

A) Windows Server 2008 32 Bit 4 GB RAM, JAVA 7 32 Bit, GeoServer 2.8 with native JAI/ImageIO and 1 GB java heap space

B) Windows Server 2012 64 BIT 32 GB RAM, JAVA 7 64 Bit, GeoServer 2.8 without JAI/ImageIO and 16 GB java heap space

(4) Using in both geoserver image mosaic jdbc and the WMS has no cache for testing

I have defined 40 different requests for the WMS with different scale factors (1 x 1:250.000, 4 x 1:100.000, and 5 x for each 1:50k, 1:25k, 1:10k, 1:5k, 1:2.5k, 1:1k, 1:0.5k).

The image data type is JPEG. Width/Height is 1.534/776 pixels for request.

Every of the 40 requests a had processed with the 32 and 64 bit geoserver and for each image size (500x500, 1000x1000, 2000x2000, 5000x5000)

Number of Images in database of level 0 (highest resolution):

500x500: 224.944

1000x1000: 56.420

2000x2000: 14.185

5000x5000: 2.309

Here are a sum of my results of yesterday:

Note that I have 40 measures for the mean calculations.

32 Bit

64 Bit

Size

Mean

Min

Max

Mean

Min

Max

500x500

744 ms

328 ms

1797 ms

598 ms

375 ms

1188 ms

1000x1000

907 ms

344 ms

1469 ms

779 ms

437 ms

1125 ms

2000x2000

1501 ms

656 ms

2734 ms

1354 ms

485 ms

2765 ms

5000x5000

5053 ms

469 ms

12919 ms

4118 ms

453 ms

13185 ms

Now I wait for some tipps using image paths for image mosaic jdbc without raster import in database.

Then I will analyse the performance advantages or disadvantages and will publish my full results after I am finished.

Today it is very interesting for me that 225.000 images in database using 500x500 pixel size are faster then 1000x1000 pixel size with only 56.000 images.

And you can see that a small configurated geoserver in 32 bit using native JAI/ImageIO is only a bit slower then the 64 bit example I had tested.

Now I will find out whether the mean of 598 ms (64 Bit, 500x500 pixel size) could be faster if only store the meta data of the images and not the image in database.

Then will look to the libjpeg turbo plugin because this could be accelerate the geoserver requests too.

Best regards,

André

Von: Christian Mueller [mailto:christian.mueller@anonymised.com]
Gesendet: Montag, 4. Mai 2015 10:59

An: Mende, Andre
Cc: geoserver-users@lists.sourceforge.net
Betreff: Re: [Geoserver-users] WG: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hi Andre

Some hints:

To create one big image:

gdal_merge.py -co COMPRESS=LZW -co BIGTIFF=YES -co TILED=YES -pct -o mytiff.tiff --optfile listofimages

where mytiff.tiff is the result and listofimages is a text file containing the name of all your 800 images. (each file name in a separate line).

Then you can add overviews with

http://www.gdal.org/gdaladdo.html

gdaladdo mytiff.tiff 2 4 8 16 32 64

would add 6 overviews to mytiff.

Cheers

Christian

On Mon, May 4, 2015 at 10:25 AM, Mende, Andre <Andre.Mende@anonymised.com> wrote:

Hi Christian,

ah ok. My original data is GeoTIFF 800 images á 10.000 x 10.000 pixels RGB with 300 MB of each image. If I try to create one big GeoTIFF using gdal_retile I got a memory exception… :wink:

if you have some linux scripts I like to look inside the scripts and hope that I can find some code snips which helps me to configure my geoserver in the right point of view.

Thanks.

André

Von: Christian Mueller [mailto:christian.mueller@anonymised.com]
Gesendet: Donnerstag, 30. April 2015 17:40
An: Mende, Andre
Cc: geoserver-users@anonymised.come.net
Betreff: Re: [Geoserver-users] WG: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hi Andre

I meant one big GeoTIFF (no use of gdal_retile) with internal compression, tiles , overviews and the CRS. This setup works pretty well for my customers. At the end of the day, you have only one geotiff file and GeoServer works very good with a geotiff file (my experience).

Maybe I can send you some Linux scripts I am using.

What format is your original data ?

Cheers

Christian

On Wed, Apr 29, 2015 at 9:49 AM, Mende, Andre <Andre.Mende@anonymised.com> wrote:

Hi Christian again,

Your question was: Did you consider to create one big geotiff file with inner tiling and overviews ?

I addition to my last post I will ask you something about big GeoTIFF with inner tilling and overviews.

Do you mean that I have to create for every tile of my gdal_retile result a inner tilling and overview or should I make one big GeoTIFF (165 GB, maybe 20 GB if I reduce with JPEG-compression) without using gdal_retile?

Thanks.

André

Hi Christian and Andrea,

thank you both for your response.

I had used gdal_retile with different pixelsizes 1000x1000, 2000x2000, 5000x5000.

I am interested in the best configuration as a balance between number of rows in database for each pyramidal step and the size of the real image.

@ Andrea:

Do you have this paper of Paul Ramsey or a link with the full results?

@ Christian:

Is it faster if I use the raster-column in a function like st_envelope to get the bounds or maybe we should use a extra column with the geometry bounds because a raster is a fixed information without dynamic change of the borders?

In my opinion I think it is faster to ask the database whether a point is inside a bounding box (geometry column) instead of using a full raster and calculate the borders every time…

Another point: Is there a opportunity only use Image Links in database using ImageMosaicJDBC? (please look at the answer of Andrea last mail)

Now I compress my source images using gdal_retile including compression attribute because i will find the right balance between resolution and image size.

If the process is ready I will tell you some result information. In addition I will test a 32 bit server with JAI and a 64 bit server without JAI which is faster or what´s the differences.

Thanks.

André

Von: Christian Mueller [mailto:christian.mueller@anonymised.com]
Gesendet: Dienstag, 28. April 2015 11:43
An: Andrea Aime
Cc: Mende, Andre; geoserver-users@lists.sourceforge.net
Betreff: Re: [Geoserver-users] ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Hi Andre

Did you consider to create one big geotiff file with inner tiling and overviews ?

I think this is the simplest way to support image data.

And here is the Swiss army knife you may need

http://www.gdal.org/

Cheers

Christian

On Mon, Apr 27, 2015 at 4:45 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:

On Mon, Apr 27, 2015 at 4:24 PM, Mende, Andre <Andre.Mende@anonymised.com> wrote:

Hi Christian,

yes there are write priveleges… but i will look at this again and tell you the answer.

Now some additional ideas/questions would like to discuss.

A GeoServer-user will use this software with high speed and a useful configuration.

Therefore it is very important to know whether a 32 bit geoserver using the jai is faster then a 64 bit geoserver without using jai.

The difference in performance between native and non native jai is probably not very relevant given you setup a poorly performing environment to start with:

  • GeoServer on Windows server is a good 30% slower than on Linux, on the same hardware (and other GIS software is too, not specific to GeoServer)

  • Keeping raster in PostGIS is slower than keeping it on the file system (Paul Ramsey reiterated that at FOSS4G-NA a few months ago, "keep rasters

in the database only to perform spatial analys, not to serve them on the web)

  • Postgis raster does not have native overviews (they are going to be added in the next version), although the imagemosaicjdbc can probably help here, since it can work as a image pyramid plugin too

Cheers

Andrea

==

GeoServer Professional Services from the experts! Visit

http://goo.gl/NWWaa2 for more information.

==

Ing. Andrea Aime

@geowolf

Technical Lead

GeoSolutions S.A.S.

Via Poggio alle Viti 1187

55054 Massarosa (LU)

Italy

phone: +39 0584 962313

fax: +39 0584 1660272

mob: +39 339 8844549

http://www.geo-solutions.it

http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.



One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)

OSS Open Source Solutions GmbH


One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)

OSS Open Source Solutions GmbH


One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@anonymised.comourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)

OSS Open Source Solutions GmbH


One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

DI Christian Mueller MSc (GIS), MSc (IT-Security)
OSS Open Source Solutions GmbH