[Geoserver-devel] [jira] (GEOS-4901) GeoServer does not work with an oracle connection pool

Mikaël HOUDU created GEOS-4901:
----------------------------------

             Summary: GeoServer does not work with an oracle connection pool
                 Key: GEOS-4901
                 URL: https://jira.codehaus.org/browse/GEOS-4901
             Project: GeoServer
          Issue Type: Bug
          Components: Oracle
    Affects Versions: 2.1.2
         Environment: WS2003R2 : Tomcat 6.0.29, JDK 1.6.0_26 (+ JAI, ImageIO), GeoServer (2.0.2 & ) 2.1.2, GeoServer Oracle datastore (Oracle NG or Oracle NG JNDI)

WS2008R2 : Oracle 11gR2
            Reporter: Mikaël HOUDU
            Assignee: Andrea Aime
            Priority: Critical
         Attachments: OracleConnectionPoolPB.zip

We are using the product with a tomcat connection pool connected to an Oracle database.

When monitored through JMX, the pool seems to be working just fine. Our configuration set the pool size at 10 and there is never more than 10 active connection in the pool. Likewise, looking at oracle active session do not show more than 10.
However, when looking at the Oracle listener log file we see that a large number of connection have been created over the span of our tests.

The conclusions is that although there is never more than 10 connection at any given time, these connections are never the same. It seems that the physical connections are not reused and new connections are continuously created.
This diagnosis is confirmed by the use of software such as TCPView. When monitoring the physical connection on both the app server and the database server, we see that new connection to the DB server are constantly being created while existing connection are being closed. There is never more than 10 ESTABLISHED connection and yet new one are constantly being created.

Our understanding is that this might be related to the mechanism by which GeoTools Oracle plugin (gt-jdbc-oracle) accesses the underlying physical connection. Somehow the underlying physical connection is closed instead of being released back to the pool and thus the pool creates new connections to replace those that have been directly closed.

To reproduce the problem, I attached a zip file that contains:
- The Oracle "BIO_FR_RNC" data (table creation, rows insertion, user_sdo_geom_metadata insertion)
- The SLD file (RN.sld) for the corresponding layer (BIO_FR_RNC)
- The JMeter script

Thank you in advance for your help.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira