[Seasar-user:20673] Re: 【s2chronos】スレッドが止まってしまう現象

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2011年 3月 22日 (火) 20:08:39 JST


>加藤様、小林様

お世話になっております。ロックオンの松村です。

> 以下のログだけではちょっと想像が難しいですね。。
> 何か再現する環境があれば調査しやすいのですが、お手数ですがそういうサン
> プルソースなどをいただくことは可能でしょうか?

実は再現方法がわからず困っていたのですが、小林様の返信にあったように

> この <0x00002aaacff64a90> を所有しているスレッドが別にいて、それが何を
> 待機しているのか、どのようにデッドロックが発生しているか調べてください。
> 
> 典型的には
> 
> ・複数のデータソースを使用している。
> ・requiresNew を使用している。
> ・S2DBCP の下で Tomcat のコネクションプールを使用している。
> 
> といった場合にコネクションプールでデッドロックを起こす可能性があります。

複数のデータソースを使用し、かつ@RequiresNewTxアノテーションを使用してい
ます。。
取り急ぎ有力な再現方法がわかったので、こちらで再現を試みたいと思います。

また、現状、

 1.システム構成上、複数のデータソースを変更することは難しい
 2.バッチ処理上BEGINとCOMMITを個別に行いたい処理がある

という状況です。
「1」に関してはシステム構成上、短期的には変更難しいので一旦置いておくと
して、「2」に関して、RequiresNewを使わずに別トランザクションを実現するこ
とは可能なのでしょうか?


大変初歩的な質問かもしれませんが、ご確認のほどよろしくお願いいたします。

----------------------- Original Message -----------------------
Date:    Tue, 22 Mar 2011 15:30:21 +0900
From:    Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
CC:      --
Subject: [Seasar-user:20672] Re: 【s2chronos】スレッドが止まってしまう現
象> 小林 (koichik) です.
> 
> Date: Tue, 22 Mar 2011 12:04:51 +0900
> From: [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:20668] 【s2chronos】スレッドが止まってしまう現象
> 
> > 現在s2chronosを使用し、バッチアプリケーションを運用しているのですが、
以前
> > より何度かスレッドが止まって全く動かなくなってしまうという現象が起き
てい
> > ます。
> 
> コネクションプールでデッドロックしているようですね。
> S2Chronos は関係なさそうに見えます。
> 
> > 実際に止まった際に取ったスレッドダンプの一部が以下になります。
> > ($ jstack ${プロセスID} > jstack.log)
> > 
> > "chronos-pool-3-thread-16" prio=10 tid=0x000000001a32b000 nid=0x456a 
in 
> > Object.wait() [0x0000000043f5b000..0x0000000043f5cc90]
> >    java.lang.Thread.State: WAITING (on object monitor)
> >     at java.lang.Object.wait(Native Method)
> >     - waiting on <0x00002aaacff64a90> (a org.seasar.extension.dbcp.
impl.
> > ConnectionPoolImpl)
> 
> この <0x00002aaacff64a90> を所有しているスレッドが別にいて、それが何を
> 待機しているのか、どのようにデッドロックが発生しているか調べてください。
> 
> 典型的には
> 
> ・複数のデータソースを使用している。
> ・requiresNew を使用している。
> ・S2DBCP の下で Tomcat のコネクションプールを使用している。
> 
> といった場合にコネクションプールでデッドロックを起こす可能性があります。
> 
> 
> -- 
> <component name="koichik">
>     <property name="fullName">"Koichi Kobayashi"</property>
>     <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
>     <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
>     <property name="twitter">"http://twitter.com/koichik"</property>
> </component>
> 
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user


Seasar-user メーリングリストの案内