Uploaded image for project: 'S2Dao'
  1. S2Dao
  2. DAO-33

Dao の初期化と Connection の取得との間でデッドロックが発生

XMLWordPrintable

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major Major
    • 1.0.45
    • Affects Version/s: 1.0.35
    • Component/s: s2dao
    • None

      http://suga.parfe.jp/td/index.cgi?date=20060809#p01

      ConnectionPool の Connection が全て駆り出された状態で、synchronized (1) な DaoMetaDataFactoryImpl#getDaoMetaData() メソッドが ConnectionPoolImpl から Connection を取得しようとして checkOut() メソッド内のループ (2) で待ち状態に入り、すでに Connection を持っているスレッドが DaoMetaDataFactoryImpl#getDaoMetaData() の synchronized (1) 待ちに入ることでデッドロックが完成します。あとは初期化できていない Dao を使おうとして次々に synchronized (1) 待ちに入っていく

            Assignee:
            manhole manhole
            Reporter:
            manhole manhole
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: