[pgpool-general-jp: 765] マスター/スレーブモードにおける parse の実行サーバ

Fujii Masao masao.fujii @ gmail.com
2010年 4月 22日 (木) 13:26:00 JST


NTT OSSセンタ 藤井です。

v2.2.6 のリリースノートに以下の修正があります。

-----------
マスター/スレーブモードにおいて、拡張プロトコルのParseをマスター上でのみ
実行するようにしました。以前はすべてのノードでParseが実行されていたのですが、
これだと不必要なロックがスレーブでも取られてしまいます(Tatsuo)
-----------

しかし、pgpool-II の HEAD をコンパイルしてマスター/スレーブモードで
使用したところ、parse がマスターとスレーブの両方で実行されてしまいました。
v2.2.6 のときの修正は、HEAD には含まれていないとのことでしょうか?
勘違い等がありましたら、ご指摘ください。

JDBC 経由で PreparedStatement を使ってクエリを送信したときの、マスターと
スレーブの PostgreSQL のログを参考として以下にお知らせします。parse と
bind は両サーバで実行され、execute だけ片方で実行されているようです。

act [4565] DEBUG:  parse S_1: SELECT * FROM t WHERE i = $1
sby [4566] DEBUG:  parse S_1: SELECT * FROM t WHERE i = $1
sby [4566] DEBUG:  bind <unnamed> to S_1
act [4565] DEBUG:  bind <unnamed> to S_1
act [4565] LOG:  execute S_1: SELECT * FROM t WHERE i = $1
act [4565] DETAIL:  parameters: $1 = '2'

以上、よろしくお願いいたします。

-- 
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center


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