Hi Henning,

What is the WFS request that generates this error?

Best Regards
/Julian

From: Henning Lorenz <henning.lor...@geo.uu.se>
Sent: Thursday, 17 November 2022 12.07
To: geoserver-users@lists.sourceforge.net
Subject: [Geoserver-users] "org.postgresql.util.PSQLException" in geoserver 
2.21.2 (not in 2.21.1)


Hello,

I have a fully functional WFS service under geoserver 2.21.1 that results in a 
postgresql-related error in 2.22.2.

Setup: geoserver, extensions: app-schema, features-templating, ogc-api, 
smart-data-loader; PostgreSQL 15 (same for 14); jdk 11 (same for 17)

The service works under version 2.21.1 in Tomcat 9. The service fails under 
version 2.21.2 in Tomcat 9 and standalone with the following error (no other 
change to underlying software, configuration):
<ServiceExceptionReport version="1.2.0" 
xsi:schemaLocation="http://www.opengis.net/ogc 
http://schemas.opengis.net/wfs/1.0.0/OGC-exception.xsd";<http://www.opengis.net/ogchttp:/schemas.opengis.net/wfs/1.0.0/OGC-exception.xsd>>
<ServiceException>
java.lang.RuntimeException: java.io.IOException java.io.IOExceptionERROR: 
function count(character varying, character varying, character varying) does 
not exist Hint: No function matches the given name and argument types. You 
might need to add explicit type casts. Position: 8
</ServiceException>
</ServiceExceptionReport>
According to the log, this is a "org.postgresql.util.PSQLException". I paste 
the complete entry from the log (geoserver developer logging) below. It appears 
to be a problem with the PostgreSQL driver, but I am not sure how to proceed 
and how to track the problem down, so any advice is highly appreciated. (Was 
the driver changed during 2.21.1/2 development? Is it possible to downgrade the 
driver and test?)

Henning

ERROR  [geoserver.ows] -

java.lang.RuntimeException: java.io.IOException

        at 
org.geotools.data.complex.MappingFeatureCollection.size(MappingFeatureCollection.java:329)

        at org.geoserver.wfs.CountExecutor.getCount(CountExecutor.java:44)

        at org.geoserver.wfs.GetFeature.getTotalCount(GetFeature.java:912)

        at org.geoserver.wfs.GetFeature.updateTotalCount(GetFeature.java:725)

        at org.geoserver.wfs.GetFeature.run(GetFeature.java:637)

        at 
org.geoserver.wfs.DefaultWebFeatureService.getFeature(DefaultWebFeatureService.java:109)

        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.base/java.lang.reflect.Method.invoke(Method.java:568)

        at 
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)

        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)

        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)

        at 
org.geoserver.ows.util.RequestObjectLogger.invoke(RequestObjectLogger.java:51)

        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)

        at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)

        at jdk.proxy3/jdk.proxy3.$Proxy126.getFeature(Unknown Source)

        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.base/java.lang.reflect.Method.invoke(Method.java:568)

        at org.geoserver.ows.Dispatcher.execute(Dispatcher.java:867)

        at 
org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:268)

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

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

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

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

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

        at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)

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

        at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)

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

        at 
org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1459)

        at 
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)

        at 
org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656)

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

        at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)

        at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)

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

        at 
org.geoserver.ows.HTTPHeadersCollector.doFilter(HTTPHeadersCollector.java:48)

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

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

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

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

        at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)

        at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)

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

        at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)

        at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        at 
org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158)

        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

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

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

        at 
org.geoserver.security.filter.GeoServerBasicAuthenticationFilter.doFilter(GeoServerBasicAuthenticationFilter.java:81)

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

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

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

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

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

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

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

        at 
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)

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

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

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

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

        at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)

        at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)

        at 
org.geoserver.filters.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:77)

        at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)

        at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)

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

        at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)

        at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)

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

        at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)

        at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)

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

        at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)

        at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)

        at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)

        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

        at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:201)

        at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)

        at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552)

        at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)

        at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600)

        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)

        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)

        at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)

        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)

        at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)

        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)

        at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)

        at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)

        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)

        at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)

        at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)

        at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191)

        at 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)

        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)

        at org.eclipse.jetty.server.Server.handle(Server.java:516)

        at 
org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)

        at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)

        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)

        at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)

        at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)

        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)

        at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)

        at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)

        at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)

        at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)

        at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)

        at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)

        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)

        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)

        at java.base/java.lang.Thread.run(Thread.java:833)

Caused by: java.io.IOException

        at 
org.geotools.appschema.jdbc.JoiningJDBCFeatureSource.getCountInternal(JoiningJDBCFeatureSource.java:1535)

        at 
org.geotools.data.store.ContentFeatureSource.getCount(ContentFeatureSource.java:488)

        at 
org.geotools.data.complex.AppSchemaDataAccess.getCount(AppSchemaDataAccess.java:314)

        at 
org.geotools.data.complex.MappingFeatureCollection.size(MappingFeatureCollection.java:327)

        ... 131 more

Caused by: org.postgresql.util.PSQLException: ERROR: function count(character 
varying, character varying, character varying) does not exist

  Hint: No function matches the given name and argument types. You might need 
to add explicit type casts.

  Position: 8

        at 
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2676)

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

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

        at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:490)

        at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:408)

        at 
org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:329)

        at 
org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:315)

        at 
org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:291)

        at org.postgresql.jdbc.PgStatement.executeQuery(PgStatement.java:243)

        at 
org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)

        at 
org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)

        at 
org.geotools.appschema.jdbc.JoiningJDBCFeatureSource.getCountInternal(JoiningJDBCFeatureSource.java:1523)

        ... 134 more

GnuPG-key:

http://pgp.mit.edu:11371/pks/lookup?search=0x484D3AF03B32FD38&op=index








När du har kontakt med oss på Uppsala universitet med e-post så innebär det att 
vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det kan du 
läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/

E-mailing Uppsala University means that we will process your personal data. For 
more information on how this is performed, please read here: 
http://www.uu.se/en/about-uu/data-protection-policy
_______________________________________________
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

Reply via email to