[Geoserver-devel] [jira] Created: (GEOS-3049) Failure to connect to a data store prevents WFS GetFeature to work on any other layer

Failure to connect to a data store prevents WFS GetFeature to work on any other layer
-------------------------------------------------------------------------------------

                 Key: GEOS-3049
                 URL: http://jira.codehaus.org/browse/GEOS-3049
             Project: GeoServer
          Issue Type: Bug
          Components: WFS
    Affects Versions: 2.0-alpha2
            Reporter: Andrea Aime
            Assignee: Justin Deoliveira
             Fix For: 2.0-beta1

I was trying to get a GML2 output from a shapefile. The GeoServer had a datastore configured to connect to a postgis db that was down.
The result of the GetFeature against the shapefile was:

{code}
15 mag 12:28:25 ERROR [geoserver.ows] -
java.lang.RuntimeException: java.io.IOException
  at org.geotools.xml.Configuration.schema(Configuration.java:405)
  at org.geoserver.wfs.xml.v1_1_0.WFSConfiguration.schema(WFSConfiguration.java)
  at org.geoserver.wfs.xml.GML3OutputFormat.write(GML3OutputFormat.java:112)
  at org.geoserver.wfs.WFSGetFeatureOutputFormat.write(WFSGetFeatureOutputFormat.java:137)
  at org.geoserver.wfs.xml.GML3OutputFormat.write(GML3OutputFormat.java)
  at org.geoserver.ows.Dispatcher.response(Dispatcher.java:703)
  at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:216)
  at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
  at org.geoserver.ows.Dispatcher.handleRequest(Dispatcher.java)
  at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
  at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
  at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
  at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
  at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
  at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
  at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
  at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
  at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
  at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
  at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:178)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
  at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
  at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
  at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
  at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
  at org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:176)
  at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
  at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)
  at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
  at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
  at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
  at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
  at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
  at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
  at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
  at org.mortbay.jetty.Server.handle(Server.java:324)
  at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
  at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
  at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
  at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
  at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
  at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
  at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
Caused by: java.io.IOException
  at org.geoserver.catalog.ResourcePool.getDataStore(ResourcePool.java:248)
  at org.geoserver.catalog.ResourcePool.getFeatureType(ResourcePool.java:353)
  at org.geoserver.catalog.impl.FeatureTypeInfoImpl.getFeatureType(FeatureTypeInfoImpl.java:78)
  at sun.reflect.GeneratedMethodAccessor77.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:597)
  at org.geoserver.catalog.impl.ModificationProxy.invoke(ModificationProxy.java:98)
  at $Proxy11.getFeatureType(Unknown Source)
  at org.geoserver.wfs.xml.FeatureTypeSchemaBuilder.buildSchemaContent(FeatureTypeSchemaBuilder.java:304)
  at org.geoserver.wfs.xml.FeatureTypeSchemaBuilder.build(FeatureTypeSchemaBuilder.java:156)
  at org.geoserver.wfs.xml.FeatureTypeSchemaBuilder$GML3.build(FeatureTypeSchemaBuilder.java)
  at org.geoserver.wfs.xml.FeatureTypeSchemaBuilder.addApplicationTypes(FeatureTypeSchemaBuilder.java:207)
  at org.geoserver.wfs.xml.FeatureTypeSchemaBuilder$GML3.addApplicationTypes(FeatureTypeSchemaBuilder.java)
  at org.geoserver.wfs.xml.v1_1_0.WFS.buildSchema(WFS.java:308)
  at org.geotools.xml.XSD.getSchema(XSD.java:205)
  at org.geotools.xml.Configuration.schema(Configuration.java:403)
  ... 54 more
Caused by: java.lang.RuntimeException: Unable to obtain connection
  at org.geotools.jdbc.JDBCDataStore.createConnection(JDBCDataStore.java:1148)
  at org.geotools.jdbc.JDBCDataStore.createTypeNames(JDBCDataStore.java:634)
  at org.geotools.data.store.ContentDataStore.getTypeNames(ContentDataStore.java:263)
  at org.vfny.geoserver.util.DataStoreUtils$$M$48103ef0.getDataAccess__RS__(DataStoreUtils.java:103)
  at org.vfny.geoserver.util.DataStoreUtils$$A$48103ef0.getDataAccess__RS__(<generated>)
  at org.vfny.geoserver.util.DataStoreUtils.getDataAccess(DataStoreUtils.java)
  at org.geoserver.catalog.ResourcePool.getDataStore(ResourcePool.java:220)
  ... 69 more
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Connessione rifiutata. Controllare che il nome dell'host e la porta siano corretti, e che il server (postmaster) sia in esecuzione con l'opzione -i, che abilita le connessioni attraverso la rete TCP/IP.)
  at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1225)
  at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
  at org.geotools.data.jdbc.datasource.AbstractManageableDataSource.getConnection(AbstractManageableDataSource.java:42)
  at org.geotools.jdbc.JDBCDataStore.createConnection(JDBCDataStore.java:1140)
  ... 75 more
Caused by: org.postgresql.util.PSQLException: Connessione rifiutata. Controllare che il nome dell'host e la porta siano corretti, e che il server (postmaster) sia in esecuzione con l'opzione -i, che abilita le connessioni attraverso la rete TCP/IP.
  at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:122)
  at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:65)
  at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:116)
  at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
  at org.postgresql.jdbc3.Jdbc3Connection.<init>(Jdbc3Connection.java:24)
  at org.postgresql.Driver.makeConnection(Driver.java:369)
  at org.postgresql.Driver.connect(Driver.java:245)
  at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
  at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
  at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1247)
  at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1221)
  ... 78 more
Caused by: java.net.ConnectException: Connessione rifiutata
  at java.net.PlainSocketImpl.socketConnect(Native Method)
  at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
  at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
  at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
  at java.net.Socket.connect(Socket.java:519)
  at java.net.Socket.connect(Socket.java:469)
  at java.net.Socket.<init>(Socket.java:366)
  at java.net.Socket.<init>(Socket.java:180)
  at org.postgresql.core.PGStream.<init>(PGStream.java:60)
  at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:77)
  ... 88 more
{code}

The WFS code should defend itself from this issue and keep on working on all layers but the ones that cannot be reached.

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira