ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

classic Classic list List threaded Threaded
20 messages Options
Reply | Threaded
Open this post in threaded view
|

ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

André Mende

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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

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.<init>(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.<init>(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.<init>(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.<init>(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.<init>(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 ;)

 

Thanks.

 

Best regards, André Mende

 

 

Von: [hidden email] [mailto:[hidden email]] Im Auftrag von Mende, Andre
Gesendet: Donnerstag, 23. April 2015 09:10
An: '[hidden email]'
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Mauro Bartolomeoli-3
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 <[hidden email]>:

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.<init>(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.<init>(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.<init>(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.<init>(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.<init>(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 ;)

 

Thanks.

 

Best regards, André Mende

 

 

Von: [hidden email] [mailto:[hidden email]] Im Auftrag von Mende, Andre
Gesendet: Donnerstag, 23. April 2015 09:10
An: '[hidden email]'
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
[hidden email]
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


-------------------------------------------------------

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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Mauro Bartolomeoli-3
Hi Andre,

2015-04-23 11:21 GMT+02:00 Mende, Andre <[hidden email]>:

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


-------------------------------------------------------

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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Christian Mueller-3
Hi all

I am the module maintainer.

Did you try to use the PostGis raster extension.


Cheers
Chrilstian


On Thu, Apr 23, 2015 at 11:35 AM, Mauro Bartolomeoli <[hidden email]> wrote:
Hi Andre,

2015-04-23 11:21 GMT+02:00 Mende, Andre <[hidden email]>:

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: <a href="tel:%2B39%200584%20962313" value="+390584962313" target="_blank">+39 0584 962313
fax:     <a href="tel:%2B39%200584%201660272" value="+3905841660272" target="_blank">+39 0584 1660272


-------------------------------------------------------

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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users




--
DI Christian Mueller MSc (GIS), MSc (IT-Security)
OSS Open Source Solutions GmbH


------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

André Mende

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.<init>(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: [hidden email] [mailto:[hidden email]] 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.

 

 

Cheers

Chrilstian

 

 

On Thu, Apr 23, 2015 at 11:35 AM, Mauro Bartolomeoli <[hidden email]> wrote:

Hi Andre,

 

2015-04-23 11:21 GMT+02:00 Mende, Andre <[hidden email]>:

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: <a href="tel:%2B39%200584%20962313" target="_blank">+39 0584 962313

fax:     <a href="tel:%2B39%200584%201660272" target="_blank">+39 0584 1660272

 

 

-------------------------------------------------------

 

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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Christian Mueller-3
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 <[hidden email]> 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.<init>(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: [hidden email] [mailto:[hidden email]] 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.

 

 

Cheers

Chrilstian

 

 

On Thu, Apr 23, 2015 at 11:35 AM, Mauro Bartolomeoli <[hidden email]> wrote:

Hi Andre,

 

2015-04-23 11:21 GMT+02:00 Mende, Andre <[hidden email]>:

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: <a href="tel:%2B39%200584%20962313" target="_blank">+39 0584 962313

fax:     <a href="tel:%2B39%200584%201660272" target="_blank">+39 0584 1660272

 

 

-------------------------------------------------------

 

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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

André Mende

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:[hidden email]]
Gesendet: Montag, 27. April 2015 14:53
An: Mende, Andre
Cc: [hidden email]
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 <[hidden email]> 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.<init>(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: [hidden email] [mailto:[hidden email]] 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.

 

 

Cheers

Chrilstian

 

 

On Thu, Apr 23, 2015 at 11:35 AM, Mauro Bartolomeoli <[hidden email]> wrote:

Hi Andre,

 

2015-04-23 11:21 GMT+02:00 Mende, Andre <[hidden email]>:

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: <a href="tel:%2B39%200584%20962313" target="_blank">+39 0584 962313

fax:     <a href="tel:%2B39%200584%201660272" target="_blank">+39 0584 1660272

 

 

-------------------------------------------------------

 

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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

geowolf
On Mon, Apr 27, 2015 at 4:24 PM, Mende, Andre <[hidden email]> 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


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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Christian Mueller-3
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


Cheers
Christian

 

On Mon, Apr 27, 2015 at 4:45 PM, Andrea Aime <[hidden email]> wrote:
On Mon, Apr 27, 2015 at 4:24 PM, Mende, Andre <[hidden email]> 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: <a href="tel:%2B39%200584%20962313" value="+390584962313" target="_blank">+39 0584 962313
fax: <a href="tel:%2B39%200584%201660272" value="+3905841660272" target="_blank">+39 0584 1660272
mob: <a href="tel:%2B39%20%C2%A0339%208844549" value="+393398844549" target="_blank">+39  339 8844549


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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

André Mende

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:[hidden email]]
Gesendet: Dienstag, 28. April 2015 11:43
An: Andrea Aime
Cc: Mende, Andre; [hidden email]
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

 

 

Cheers

Christian

 

 

 

On Mon, Apr 27, 2015 at 4:45 PM, Andrea Aime <[hidden email]> wrote:

On Mon, Apr 27, 2015 at 4:24 PM, Mende, Andre <[hidden email]> 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: <a href="tel:%2B39%200584%20962313" target="_blank">+39 0584 962313

fax: <a href="tel:%2B39%200584%201660272" target="_blank">+39 0584 1660272

mob: <a href="tel:%2B39%20%C2%A0339%208844549" target="_blank">+39  339 8844549

 

 

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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Stefano Iacovella

2015-04-28 12:45 GMT+02:00 Mende, Andre <[hidden email]>:

@ 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

------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

geowolf
In reply to this post by André Mende
On Tue, Apr 28, 2015 at 12:45 PM, Mende, Andre <[hidden email]> 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:

(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


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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

WG: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

André Mende
In reply to this post by André Mende

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 [[hidden email]]
Gesendet: Dienstag, 28. April 2015 11:43
An: Andrea Aime
Cc: Mende, Andre; [hidden email]
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

 

 

Cheers

Christian

 

 

 

On Mon, Apr 27, 2015 at 4:45 PM, Andrea Aime <[hidden email]> wrote:

On Mon, Apr 27, 2015 at 4:24 PM, Mende, Andre <[hidden email]> 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: <a href="tel:%2B39%200584%20962313" target="_blank">+39 0584 962313

fax: <a href="tel:%2B39%200584%201660272" target="_blank">+39 0584 1660272

mob: <a href="tel:%2B39%20%C2%A0339%208844549" target="_blank">+39  339 8844549

 

 

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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

ATT00001.txt (568 bytes) Download Attachment
ATT00002.txt (248 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: WG: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Christian Mueller-3
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 <[hidden email]> 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 [[hidden email]]
Gesendet: Dienstag, 28. April 2015 11:43
An: Andrea Aime
Cc: Mende, Andre; [hidden email]
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

 

 

Cheers

Christian

 

 

 

On Mon, Apr 27, 2015 at 4:45 PM, Andrea Aime <[hidden email]> wrote:

On Mon, Apr 27, 2015 at 4:24 PM, Mende, Andre <[hidden email]> 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: <a href="tel:%2B39%200584%20962313" target="_blank">+39 0584 962313

fax: <a href="tel:%2B39%200584%201660272" target="_blank">+39 0584 1660272

mob: <a href="tel:%2B39%20%C2%A0339%208844549" target="_blank">+39  339 8844549

 

 

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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: WG: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

André Mende

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… ;)

 

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:[hidden email]]
Gesendet: Donnerstag, 30. April 2015 17:40
An: Mende, Andre
Cc: [hidden email]
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 <[hidden email]> 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 [[hidden email]]
Gesendet: Dienstag, 28. April 2015 11:43
An: Andrea Aime
Cc: Mende, Andre; [hidden email]
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

 

 

Cheers

Christian

 

 

 

On Mon, Apr 27, 2015 at 4:45 PM, Andrea Aime <[hidden email]> wrote:

On Mon, Apr 27, 2015 at 4:24 PM, Mende, Andre <[hidden email]> 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: <a href="tel:%2B39%200584%20962313" target="_blank">+39 0584 962313

fax: <a href="tel:%2B39%200584%201660272" target="_blank">+39 0584 1660272

mob: <a href="tel:%2B39%20%C2%A0339%208844549" target="_blank">+39  339 8844549

 

 

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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: WG: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Christian Mueller-3
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 


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 <[hidden email]> 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… ;)

 

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:[hidden email]]
Gesendet: Donnerstag, 30. April 2015 17:40
An: Mende, Andre
Cc: [hidden email]
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 <[hidden email]> 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 [[hidden email]]
Gesendet: Dienstag, 28. April 2015 11:43
An: Andrea Aime
Cc: Mende, Andre; [hidden email]
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

 

 

Cheers

Christian

 

 

 

On Mon, Apr 27, 2015 at 4:45 PM, Andrea Aime <[hidden email]> wrote:

On Mon, Apr 27, 2015 at 4:24 PM, Mende, Andre <[hidden email]> 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: <a href="tel:%2B39%200584%20962313" target="_blank">+39 0584 962313

fax: <a href="tel:%2B39%200584%201660272" target="_blank">+39 0584 1660272

mob: <a href="tel:%2B39%20%C2%A0339%208844549" target="_blank">+39  339 8844549

 

 

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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: WG: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

chris.snider@issinc.com

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@01CA1F1F.CBC93990

 

From: Christian Mueller [mailto:[hidden email]]
Sent: Monday, May 04, 2015 2:59 AM
To: Mende, Andre
Cc: [hidden email]
Subject: 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 

 

 

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 <[hidden email]> 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… ;)

 

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:[hidden email]]
Gesendet: Donnerstag, 30. April 2015 17:40
An: Mende, Andre
Cc: [hidden email]
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 <[hidden email]> 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 [[hidden email]]
Gesendet: Dienstag, 28. April 2015 11:43
An: Andrea Aime
Cc: Mende, Andre; [hidden email]
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

 

 

Cheers

Christian

 

 

 

On Mon, Apr 27, 2015 at 4:45 PM, Andrea Aime <[hidden email]> wrote:

On Mon, Apr 27, 2015 at 4:24 PM, Mende, Andre <[hidden email]> 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: <a href="tel:%2B39%200584%20962313" target="_blank">+39 0584 962313

fax: <a href="tel:%2B39%200584%201660272" target="_blank">+39 0584 1660272

mob: <a href="tel:%2B39%20%C2%A0339%208844549" target="_blank">+39  339 8844549

 

 

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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: WG: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

André Mende
In reply to this post by Christian Mueller-3

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:[hidden email]]
Gesendet: Montag, 4. Mai 2015 10:59
An: Mende, Andre
Cc: [hidden email]
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 

 

 

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 <[hidden email]> 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… ;)

 

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:[hidden email]]
Gesendet: Donnerstag, 30. April 2015 17:40
An: Mende, Andre
Cc: [hidden email]
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 <[hidden email]> 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 [[hidden email]]
Gesendet: Dienstag, 28. April 2015 11:43
An: Andrea Aime
Cc: Mende, Andre; [hidden email]
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

 

 

Cheers

Christian

 

 

 

On Mon, Apr 27, 2015 at 4:45 PM, Andrea Aime <[hidden email]> wrote:

On Mon, Apr 27, 2015 at 4:24 PM, Mende, Andre <[hidden email]> 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: <a href="tel:%2B39%200584%20962313" target="_blank">+39 0584 962313

fax: <a href="tel:%2B39%200584%201660272" target="_blank">+39 0584 1660272

mob: <a href="tel:%2B39%20%C2%A0339%208844549" target="_blank">+39  339 8844549

 

 

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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: WG: ImageMosaicJDBC problem: geoserver stop waiting before postgres send the raster information

Christian Mueller-3
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 <[hidden email]> 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 <a href="tel:225.000" value="+43225000" target="_blank">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:[hidden email]]
Gesendet: Montag, 4. Mai 2015 10:59


An: Mende, Andre
Cc: [hidden email]
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 

 

 

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 <[hidden email]> 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… ;)

 

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:[hidden email]]
Gesendet: Donnerstag, 30. April 2015 17:40
An: Mende, Andre
Cc: [hidden email]
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 <[hidden email]> 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 [[hidden email]]
Gesendet: Dienstag, 28. April 2015 11:43
An: Andrea Aime
Cc: Mende, Andre; [hidden email]
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

 

 

Cheers

Christian

 

 

 

On Mon, Apr 27, 2015 at 4:45 PM, Andrea Aime <[hidden email]> wrote:

On Mon, Apr 27, 2015 at 4:24 PM, Mende, Andre <[hidden email]> 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: <a href="tel:%2B39%200584%20962313" target="_blank">+39 0584 962313

fax: <a href="tel:%2B39%200584%201660272" target="_blank">+39 0584 1660272

mob: <a href="tel:%2B39%20%C2%A0339%208844549" target="_blank">+39  339 8844549

 

 

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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users