hatokuの日記: バグ
日記 by
hatoku
どーもJBossのバグ発見っぽいかも。
トランザクション内でDataSource.getConnection()を呼んだ場合、トランザクションが終了するまで同じConnectionを返すはず。で、すべてのselect文をfor updateにしてるのだが、少なくとも今はすべて同じレコード(1行)をユニークキーを使用して取得してるが、突然、デッドロックしたような状況になる。
実際にデッドロックした場合は、SQLExceptionがthrowされる「はず」なので、これはおかしいかなと。おそらく、何らかのタイミングで本来同じConnectionが返されるべきところを、違うConnectionが返されているのだろう。
明日はこれの調査しよっと。
トランザクション内でDataSource.getConnection()を呼んだ場合、トランザクションが終了するまで同じConnectionを返すはず。で、すべてのselect文をfor updateにしてるのだが、少なくとも今はすべて同じレコード(1行)をユニークキーを使用して取得してるが、突然、デッドロックしたような状況になる。
実際にデッドロックした場合は、SQLExceptionがthrowされる「はず」なので、これはおかしいかなと。おそらく、何らかのタイミングで本来同じConnectionが返されるべきところを、違うConnectionが返されているのだろう。
明日はこれの調査しよっと。
バグ More ログイン