[Geoserver-devel] [jira] Created: (GEOS-3703) GeoServer oracle db connection is not closed properly.

GeoServer oracle db connection is not closed properly.
--------------------------------------------------------

                 Key: GEOS-3703
                 URL: http://jira.codehaus.org/browse/GEOS-3703
             Project: GeoServer
          Issue Type: Improvement
          Components: Oracle
    Affects Versions: 2.0.0
         Environment: Windows XP, Oracle 10g
            Reporter: Florence Tan
            Assignee: Andrea Aime

While running WFS testing, with many changes done on the geoserver config file and many start and stop on the geoserver, I hit into "Unable to obtain connection" error. Investigating on the Oracle connection found many stale connections caused by GeoServer.

Caused by: java.lang.RuntimeException: Unable to obtain connection
  at org.geotools.jdbc.JDBCDataStore.createConnection(JDBCDataStore.java:1385)
  at org.geotools.jdbc.JDBCDataStore.createTypeNames(JDBCDataStore.java:696)
  at org.geotools.data.store.ContentDataStore.entry(ContentDataStore.java:530)
  at org.geotools.data.store.ContentDataStore.ensureEntry(ContentDataStore.java:561)
  at org.geotools.data.store.ContentDataStore.getFeatureSource(ContentDataStore.java:354)
  at org.geotools.data.store.ContentDataStore.getFeatureSource(ContentDataStore.java:321)
  at org.geotools.data.store.ContentDataStore.getFeatureSource(ContentDataStore.java:620)
  at org.geotools.data.complex.config.AppSchemaDataAccessConfigurator.getFeatureSource(AppSchemaDataAccessConfigurator.java:428)
  at org.geotools.data.complex.config.AppSchemaDataAccessConfigurator.createFeatureTypeMappings(AppSchemaDataAccessConfigurator.java:194)
  at org.geotools.data.complex.config.AppSchemaDataAccessConfigurator.buildMappings(AppSchemaDataAccessConfigurator.java:181)
  at org.geotools.data.complex.config.AppSchemaDataAccessConfigurator.buildMappings(AppSchemaDataAccessConfigurator.java:155)
  at org.geotools.data.complex.AppSchemaDataAccessFactory.createDataStore(AppSchemaDataAccessFactory.java:94)
  at org.vfny.geoserver.util.DataStoreUtils.getDataAccess(DataStoreUtils.java:97)
  at org.geoserver.catalog.ResourcePool.getDataStore(ResourcePool.java:266)
  ... 74 more
Caused by: java.sql.SQLException: Listener refused the connection with the following error:
ORA-12519, TNS:no appropriate service handler found

  at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
  at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:131)
  at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:197)
  at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:525)
  at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:413)
  at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:508)
  at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:203)
  at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
  at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510)
  at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
  at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
  at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1148)
  at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)
  at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
  at org.geotools.data.jdbc.datasource.AbstractManageableDataSource.getConnection(AbstractManageableDataSource.java:44)
  at org.geotools.jdbc.JDBCDataStore.createConnection(JDBCDataStore.java:1377)
  ... 87 more
Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error:
ORA-12519, TNS:no appropriate service handler found

  at oracle.net.ns.NSProtocol.connect(NSProtocol.java:361)
  at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:966)
  at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:292)
  ... 98 more

--
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