[pgpool-general-jp: 811] Re: pgpool-II 3.0 でのnextval でエラー

Toshihiro Kitagawa kitagawa @ sraoss.co.jp
2010年 9月 27日 (月) 15:58:54 JST


北川です。

On Mon, 27 Sep 2010 14:44:08 +0900
松山大樹 <t.matsuyama @ wowcom.co.jp> wrote:

> 松山です。
> 
> > ・Child process xxxxx was terminated by segmentation fault
> > ・child xxxxx exits with status xx by signal xx
> >
> > 障害発生時に上記のようなエラーメッセージは出ていませんでしょうか?
> 
> 見当たりませんでした。
> このエラーメッセージは、通常、どこに出るはずのものでしょうか?

pgpool のログ出力にエラーメッセージがない理由がわかりました。
pgpool をコマンドで起動している場合は、-n オプションを付けて
ファイルにリダイレクトしてください。

例)
$ bin/pgpool -dnf etc/pgpool.conf > pgpool.log 2>&1

> 確かに、普通にjdbc で、select、コミットした場合は発生しませんでした。
> 
> こちらで発生する環境は、Seasar2 Project の、S2Dao で実行した場合です。
> ざっとS2DaoのbeginTran/commit のソースを見てみましたが、
> 
>     protected void doBegin(Xid xid) throws XAException {
>         try {
>             if (connection.getAutoCommit()) {
>                 connection.setAutoCommit(false);
>             }
>         } catch (SQLException ex) {
>             throw new SXAException(ex);
>         }
>     }
> 
>     protected void doCommit(Xid xid, boolean onePhase) throws XAException {
>         try {
>             connection.commit();
>             connection.setAutoCommit(true);
>         } catch (SQLException ex) {
>             throw new SXAException(ex);
>         }
>     }
> 
>  となっているだけでした。
>  connection は、java.sql.Connection で、実装は、
> org.postgresql.jdbc4.Jdbc4Connection です。
> 
> もう少し、S2Dao の方を追ってみることにします。
> 
> ただ、pgpool-II 2.3.2.2 では、問題なくコミットできているので、
> そこが不思議なところですが。

pgpool-II 3.0 は、ソースコードをだいぶ整理したので、その時に
バグを混入させてしまったものと思われます…

度々すみませんが、よろしくお願いします。

-- 
SRA OSS, Inc. 日本支社
北川 俊広 <kitagawa @ sraoss.co.jp>

> 
> > 北川です。
> > 
> > On Mon, 27 Sep 2010 12:50:21 +0900
> > 松山大樹<t.matsuyama @ wowcom.co.jp>  wrote:
> > 
> >> 松山です。
> >>
> >> これでよろしいでしょうか。
> >>
> >> ------------------------------------------------------------------
> >> 2010-09-27 12:48:23 DEBUG: pid 23099: key: listen_addresses
> >> 2010-09-27 12:48:23 DEBUG: pid 23099: value: '*' kind: 4
> >> 2010-09-27 12:48:23 DEBUG: pid 23099: key: port
> > (以下略)
> > 
> > 前回頂いたエラーメッセージから推測すると、子プロセスが異常終了
> > している気配があったので、以下のようなエラーメッセージが含まれる
> > ログを期待していました。
> > 
> > ・Child process xxxxx was terminated by segmentation fault
> > ・child xxxxx exits with status xx by signal xx
> > 
> > 障害発生時に上記のようなエラーメッセージは出ていませんでしょうか?
> > 
> > もし出ていましたら、そのメッセージを含むそれ以前のログを頂けると
> > 調査しやすいです。個人宛に送っていただいても構いません。
> > 
> > あとは、再現手順がわかればログはなくても構いません。
> > 試しに、JDBC 経由で select nextval('xxxxxxxxx') を実行して、
> > コミットしてみましたが、こちらでは再現できませんでした。
> > 
> > お手数おかけしますが、よろしくお願いします。
> > 
> 
> 
> -- 
> ::: 株式会社WOWOWコミュニケーションズ http://www.wowcom.co.jp/
> :::   ICTシステムDiv.
> :::  WebソリューションサポートUnit.
> :::   松山 大樹 - t.matsuyama @ wowcom.co.jp
> :::      tel 045-683-3684 fax 020-4622-7043
> 
> _______________________________________________
> pgpool-general-jp mailing list
> pgpool-general-jp @ sraoss.jp
> http://www.sraoss.jp/mailman/listinfo/pgpool-general-jp
> 



pgpool-general-jp メーリングリストの案内