[Geoserver-users] Instability with JDBCConfig and many layers / layer groups

2019-02-14 Thread Damiano Albani
Hi,

I've been experiencing a strange instability issue lately with the
JDBCConfig module in combination with lots of layers / layer groups in
GeoServer.
As an end user, the behavior that I get is that GeoServer simply "freezes"
quite randomly under load, not responding to requests for several minutes
(be it WMS / WFS requests or even the admin interface).
I've tracked down this behavior due to some kind of database contention:
the database connection pool gets somehow exhausted and GeoServer only
returns to a working condition once the database connections time out.

For example, this is the kind of information shown in the HikariCP logs
about the contention:

> 06 Feb 10:25:41 DEBUG [pool.HikariPool] - HikariPool-2 - Before cleanup
> stats (total=10, active=10, idle=0, waiting=10)
> 06 Feb 10:25:41 DEBUG [pool.HikariPool] - HikariPool-2 - After cleanup
> stats (total=10, active=10, idle=0, waiting=10)


GeoServer is more or less frozen at this point, even though there is no CPU
or database activity (current JDBCConfig-related connections are considered
"idle" if I look in a tool like PgAdmin).

For reference, "HikariPool-2" is here the connection pool defined in my
Tomcat configuration with:

>auth="Container"
>   type="javax.sql.DataSource"
>   factory="com.zaxxer.hikari.HikariJNDIFactory"
>   driverClassName="org.postgresql.Driver"
>   jdbcUrl="jdbc:postgresql://..."
>   username="geoserverconfig"
>   password="..."
>   closeMethod="close"
>   minimumIdle="2" maximumPoolSize="10" connectionTimeout="30"
> maxLifetime="180" />


Activating the leak detection functionality in HikariCP produces the
following:

> java.lang.Exception: Apparent connection leak detected
>   at
> com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:100)
>   at
> org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)
>   at
> org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)
>   at
> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:619)
>   at
> org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:684)
>   at
> org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:711)
>   at
> org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:761)
>   at
> org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.queryForObject(NamedParameterJdbcTemplate.java:211)
>   at
> org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.queryForObject(NamedParameterJdbcTemplate.java:219)
>   at
> org.geoserver.jdbcconfig.internal.ConfigDatabase$CatalogLoader.call(ConfigDatabase.java:1058)
>   at
> org.geoserver.jdbcconfig.internal.ConfigDatabase$CatalogLoader.call(ConfigDatabase.java:1043)
>   at
> com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4739)
>   at
> com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524)
>   at
> com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317)
>   at
> com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280)
>   at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195)
>   at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
>   at
> com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4736)
>   at
> org.geoserver.jdbcconfig.internal.ConfigDatabase.getById(ConfigDatabase.java:898)
>   at
> org.geoserver.jdbcconfig.internal.ConfigDatabase$2.apply(ConfigDatabase.java:329)
>   at
> org.geoserver.jdbcconfig.internal.ConfigDatabase$2.apply(ConfigDatabase.java:325)
>   at
> com.google.common.collect.Lists$TransformingRandomAccessList$1.transform(Lists.java:582)
>   at
> com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
>   at com.google.common.collect.Iterators$7.computeNext(Iterators.java:646)
>   at
> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
>   at
> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
>   at
> org.geoserver.catalog.util.CloseableIteratorAdapter.hasNext(CloseableIteratorAdapter.java:45)
>   at
> org.geoserver.jdbcconfig.catalog.JDBCCatalogFacade.findUnique(JDBCCatalogFacade.java:819)
>   at
> org.geoserver.jdbcconfig.catalog.JDBCCatalogFacade.getLayerGroupByName(JDBCCatalogFacade.java:702)
>   at
> org.geoserver.catalog.impl.CatalogImpl.getLayerGroupByName(CatalogImpl.java:1085)
>   at
> org.geoserver.catalog.impl.CatalogImpl.getLayerGroupByName(CatalogImpl.java:1075)
>   at
> org.geoserver.security.SecureCatalogImpl.getLayerGroupByName(SecureCatalogImpl.java:337)
>   at
> org.geoserver.catalog.impl.AbstractFilteredCatalog.getLayerGroupByName(AbstractFilteredCatalog.java:229)
>   at
> org.geoserver.catalog.impl.AbstractCatalogDecorator.getLayerGroupByName(AbstractCatalogDecorator.java:468)
>   at
> 

[Geoserver-users] Unsubscribe

2019-02-14 Thread Yachtmaster
 

 

 

___
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users


Re: [Geoserver-users] Unexpected GeoServer CPU usage with Oracle data source

2019-02-14 Thread Andrea Aime
Hi,
I am doing some benchmarks against a PostgreSQL data source and thought
back about this issue.
The disruptor showed up in my profiles as well, not much, but was there. I
changed the StreamingRenderer
to use a blocking variant of the same disruptor queue and got a bit less
CPU usage, the requests
did not become faster, but the free CPU allowed a few more concurrent
requests to be snuck in,
allowing for better throughput in a load test.

I've added that change along with a bunch of others to speed up rendering
performance of large maps,
with several layers and complex symbology, from a PostGIS source (with some
changes being
datastore independent) that hopefully will land on master (dev series,
2.16.x) in a few days.

Cheers
Andrea


On Mon, Feb 11, 2019 at 7:30 AM João Loureiro Junior 
wrote:

> Thanks Andrea, I will try that and follow up on the dev list.
> ___
> Geoserver-users mailing list
>
> Please make sure you read the following two resources before posting to
> this list:
> - Earning your support instead of buying it, but Ian Turton:
> http://www.ianturton.com/talks/foss4g.html#/
> - The GeoServer user list posting guidelines:
> http://geoserver.org/comm/userlist-guidelines.html
>
> If you want to request a feature or an improvement, also see this:
> https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
>
>
> Geoserver-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>


-- 

Regards, Andrea Aime == GeoServer Professional Services from the experts!
Visit http://goo.gl/it488V for more information. == Ing. Andrea Aime
@geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054
Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339
8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it
--- *Con riferimento
alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 -
Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni
circostanza inerente alla presente email (il suo contenuto, gli eventuali
allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i
destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per
errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le
sarei comunque grato se potesse darmene notizia. This email is intended
only for the person or entity to which it is addressed and may contain
information that is privileged, confidential or otherwise protected from
disclosure. We remind that - as provided by European Regulation 2016/679
“GDPR” - copying, dissemination or use of this e-mail or the information
herein by anyone other than the intended recipient is prohibited. If you
have received this email by mistake, please notify us immediately by
telephone or e-mail.*
___
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users


Re: [Geoserver-users] NullPointerException and cant obtain envelop of layer-groups.

2019-02-14 Thread Torben Barsballe
The specific error you are seeing is not familiar to me, but it looks
somewhat like a corrupt geoserver configuration.

If this is the case, try looking at each layer group configuration file in
your data directory - they will be in the "layergroups" subfolder - and see
if you can see anything out of the ordinary. A "normal" layer group
configuration can be seen in GeoServer release data directory, for example
spearfish.xml


I would also suggest querying the layergroups rest endpoint
,
to see if you get a different error message that may help narrow down what
is causing the problem.

---
Torben Barsballe


On Wed, Feb 13, 2019 at 10:39 PM Bar-On, Itay 
wrote:

> Dear Geoserver users,
>
>
>
> A while ago we had to restart our Geoserver instance (version 2.14.0) and
> since then I get the following error when trying to view the groups:
>
>
>
> org.apache.wicket.WicketRuntimeException: Can't instantiate page using
> constructor 'public org.geoserver.web.data.layergroup.LayerGroupPage()'. An
> exception has been thrown during construction!
>
> at
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:194)
>
> at
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:67)
>
> at
> org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:102)
>
> at
> org.apache.wicket.core.request.handler.PageProvider.resolvePageInstance(PageProvider.java:271)
>
> at
> org.apache.wicket.core.request.handler.PageProvider.getPageInstance(PageProvider.java:169)
>
> at
> org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
>
> at
> org.apache.wicket.request.handler.render.WebPageRenderer.isPageStateless(WebPageRenderer.java:287)
>
> at
> org.apache.wicket.request.handler.render.WebPageRenderer.shouldRenderPageAndWriteResponse(WebPageRenderer.java:329)
>
> at
> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:193)
>
> at
> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175)
>
> at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:895)
>
> at
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
>
> at
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265)
>
> at
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222)
>
> at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293)
>
> at
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:261)
>
> at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203)
>
> at
> org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:137)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>
> at
> org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:157)
>
> at
> org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:174)
>
> at
> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:50)
>
> at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
>
> at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
>
> at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
>
> at
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
>
> at
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
>
> at
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
>
> at
> org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:26)
>
> at
>

[Geoserver-users] GeoFence

2019-02-14 Thread Neil Saunders
Hi folks,

How can I find the correct version of the GeoFence extension for Geoserver 
2.14.1?

Thanks!


[cid:image001.png@01D3A972.C9540910]


Neil Saunders
Lotsearch Pty Ltd
Level 3, 68 Alfred Street
Milsons Point, NSW 2061



___
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users