-
Type: Bug
-
Resolution: Unresolved
-
Priority: Major
-
None
-
Affects Version/s: 1.0.50
-
Component/s: s2dao
-
None
-
Environment:TOMCAT 5.5
TOMCAT データソースを使用する設定で、ConnectionPool のConnectionが全て駆り出された状態になると、新規コネクション取得時にS2DBCPのConnectionPoolImpl.checkout()の中で、createConnection()を経由し、tomcat.DBCPのPoolingDataSource.getConnection()を呼び出してConnectionPool の空き待ちを行う。
checkout()がsynchronizedなため、既にトランザクションを開始しているスレッドがConnectionを取得しようとした時にcheckout()でブロックされ、デッドロックが発生する。