Connection pooling

View: New views
4 Messages — Rating Filter:   Alert me  

Connection pooling

by Gérald Quintana :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

For some weird reason I won't explain, the Oracle database I am using
is restarted
every night. Since I introduced Bitronix connection pooling (the
problem didn't occur with DBCP), every morning the application is
dead: Each access to the database results in the following exception:
Caused by: java.sql.SQLException: Connexion interrompue
       at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
       at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
       at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
       at oracle.jdbc.driver.PhysicalConnection.rollback(PhysicalConnection.java:1170)
       at oracle.jdbc.OracleConnectionWrapper.rollback(OracleConnectionWrapper.java:122)
       at bitronix.tm.resource.jdbc.JdbcConnectionHandle.rollback(JdbcConnectionHandle.java:96)
       ... 9 more

Restarting the application server (Tomcat) does the trick, but it is
not satisfactory solution.
Why do these stale connections remain in the pool?
What can I do to evict them?

Thanks for your help,
Gérald

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



Re: Connection pooling

by Ludovic Orban :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

You should set a test query on your connection pool, see: http://btm.codehaus.org/api/1.3.3/bitronix/tm/resource/jdbc/PoolingDataSource.html#setTestQuery%28java.lang.String%29

2009/10/27 Gérald Quintana <gerald.quintana@...>
Hello,

For some weird reason I won't explain, the Oracle database I am using
is restarted
every night. Since I introduced Bitronix connection pooling (the
problem didn't occur with DBCP), every morning the application is
dead: Each access to the database results in the following exception:
Caused by: java.sql.SQLException: Connexion interrompue
      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
      at oracle.jdbc.driver.PhysicalConnection.rollback(PhysicalConnection.java:1170)
      at oracle.jdbc.OracleConnectionWrapper.rollback(OracleConnectionWrapper.java:122)
      at bitronix.tm.resource.jdbc.JdbcConnectionHandle.rollback(JdbcConnectionHandle.java:96)
      ... 9 more

Restarting the application server (Tomcat) does the trick, but it is
not satisfactory solution.
Why do these stale connections remain in the pool?
What can I do to evict them?

Thanks for your help,
Gérald

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email




Re: Connection pooling

by Gérald Quintana :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks for your answer Ludovic,

At first, I imagined this solution. But I think it would be bad for
performances: I loose connections only once a day, and the test query
would be executed all day long (too many times). What's your
experience/opinion?

Then during the night, the application is not used anymore so I don't
understand why connections are kept opened.

Finally is there something (JMX MBean or other) to control (I mean
monitor opened connection, force closing) connection pools described
in resources.properties?


Gérald

2009/10/27 Ludovic Orban <ludovic.orban@...>:

> You should set a test query on your connection pool, see:
> http://btm.codehaus.org/api/1.3.3/bitronix/tm/resource/jdbc/PoolingDataSource.html#setTestQuery%28java.lang.String%29
>
> 2009/10/27 Gérald Quintana <gerald.quintana@...>
>>
>> Hello,
>>
>> For some weird reason I won't explain, the Oracle database I am using
>> is restarted
>> every night. Since I introduced Bitronix connection pooling (the
>> problem didn't occur with DBCP), every morning the application is
>> dead: Each access to the database results in the following exception:
>> Caused by: java.sql.SQLException: Connexion interrompue
>>       at
>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
>>       at
>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
>>       at
>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
>>       at
>> oracle.jdbc.driver.PhysicalConnection.rollback(PhysicalConnection.java:1170)
>>       at
>> oracle.jdbc.OracleConnectionWrapper.rollback(OracleConnectionWrapper.java:122)
>>       at
>> bitronix.tm.resource.jdbc.JdbcConnectionHandle.rollback(JdbcConnectionHandle.java:96)
>>       ... 9 more
>>
>> Restarting the application server (Tomcat) does the trick, but it is
>> not satisfactory solution.
>> Why do these stale connections remain in the pool?
>> What can I do to evict them?
>>
>> Thanks for your help,
>> Gérald
>>
>> ---------------------------------------------------------------------
>> To unsubscribe from this list, please visit:
>>
>>    http://xircles.codehaus.org/manage_email
>>
>>
>
>

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



Re: Connection pooling

by Ludovic Orban :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

The performance hit of the test query usually isn't that high.

As an alternative if you know for sure the DB is restarted when there are no users you could set the minPoolSize to zero, make sure the maxIdleTime isn't too high and also make sure the pool is left untouched long enough for all connections to become inactive. The pool will then close them all and re-open them when activity starts over again.

2009/10/27 Gérald Quintana <gerald.quintana@...>
Thanks for your answer Ludovic,

At first, I imagined this solution. But I think it would be bad for
performances: I loose connections only once a day, and the test query
would be executed all day long (too many times). What's your
experience/opinion?

Then during the night, the application is not used anymore so I don't
understand why connections are kept opened.

Finally is there something (JMX MBean or other) to control (I mean
monitor opened connection, force closing) connection pools described
in resources.properties?


Gérald

2009/10/27 Ludovic Orban <ludovic.orban@...>:
> You should set a test query on your connection pool, see:
> http://btm.codehaus.org/api/1.3.3/bitronix/tm/resource/jdbc/PoolingDataSource.html#setTestQuery%28java.lang.String%29
>
> 2009/10/27 Gérald Quintana <gerald.quintana@...>
>>
>> Hello,
>>
>> For some weird reason I won't explain, the Oracle database I am using
>> is restarted
>> every night. Since I introduced Bitronix connection pooling (the
>> problem didn't occur with DBCP), every morning the application is
>> dead: Each access to the database results in the following exception:
>> Caused by: java.sql.SQLException: Connexion interrompue
>>       at
>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
>>       at
>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
>>       at
>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
>>       at
>> oracle.jdbc.driver.PhysicalConnection.rollback(PhysicalConnection.java:1170)
>>       at
>> oracle.jdbc.OracleConnectionWrapper.rollback(OracleConnectionWrapper.java:122)
>>       at
>> bitronix.tm.resource.jdbc.JdbcConnectionHandle.rollback(JdbcConnectionHandle.java:96)
>>       ... 9 more
>>
>> Restarting the application server (Tomcat) does the trick, but it is
>> not satisfactory solution.
>> Why do these stale connections remain in the pool?
>> What can I do to evict them?
>>
>> Thanks for your help,
>> Gérald
>>
>> ---------------------------------------------------------------------
>> To unsubscribe from this list, please visit:
>>
>>    http://xircles.codehaus.org/manage_email
>>
>>
>
>

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email