[pgpool-general-jp: 122] Re: pgpool3.2+JDBC環境でのreplication_strictの挙動について

Yoshiyuki Asaba y-asaba @ sraoss.co.jp
2007年 5月 7日 (月) 12:34:21 JST


浅羽です。

From: tutui-t @ sys.tosho.co.jp
Subject: [pgpool-general-jp: 120] pgpool3.2+JDBC環境でのreplication_strictの挙動について
Date: Tue, 01 May 2007 22:42:33 +0900

> pgpool3.2のレプリケーションモードで、
> デッドロックのような現象が発生することがあります。
> パケットを取って調べてみたところ、
> JDBC経由のクエリの場合、
> replication_strictをtrueにしていても、
> pgpoolは、masterからのレスポンスを待たずに
> secondaryにリクエストを投げました。
> これは正しい挙動なのでしょうか?

いえ、通常であれば master から結果が返ってくるまで待ちます。


> 上記構成では、トランザクション開始、テーブルロックの後、
> updateコマンドを一つだけ発行してみました。
> 以下、psqlで実行した場合とJDBC経由の場合の結果について、
> 簡単な流れを記します。
> JDBCの場合は、jspで、
>   connection.setAutoCommit(false);
>   stmt = connection.createStatement();
>   stmt.executeUpdate("UPDATE 〜");
>   connection.commit();
> のように実行しています。
> (テーブル名:test_data)

同じような再現プログラムを書いて動かしてみましたが、手元の環境では結果
が返ってきてからセカンダリに送っていました。もしデバッグログが残ってい
ましたらいただけないでしょうか?

また、接続する際に以下のように loglevel を 2 にしていただけますでしょ
うか?JDBC ドライバのデバッグログを取得することができます。

  jdbc:postgresql://localhost:9999/testdb?loglevel=2

よろしくお願いします。
--
Yoshiyuki Asaba
y-asaba @ sraoss.co.jp


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