[pgpool-general-jp: 1100] Re: 設定パラメータ replicate_select の挙動について

Tatsuo Ishii ishii @ sraoss.co.jp
2012年 10月 5日 (金) 09:36:32 JST


石井です。

失礼しました。改めてソースコードを確認したところ、ロードバランスするか
どうかの判定では、文字列としてSQL文がSELECTやWITHで始まっているかどうか
を見ているので、文頭にコメントがあるとそもそもSELECT系と見なされず、ロー
ドバランスの対象外になっていることがわかりました。
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp

> 齋藤です。お世話になっております。
> 
> pgpool-II の仕様としては、SELECT 文の冒頭にコメント( /* comment */ )を付与しても
>   replicate_select = false
> が設定されていれば、マスタのみに送信されるという理解でよろしいでしょうか。
> 
> pgpool-II- 3.2 stable tree
>   http://git.postgresql.org/gitweb/?p=pgpool2.git;a=tree;h=refs/heads/V3_2_STABLE;hb=V3_2_STABLE
> の snapshot (pgpool2-V3_2_STABLE-d2abad1.tar.gz) で動作確認したところ、
> SELECT 文の冒頭にコメント( /* comment */ )を付与すると、
> マスタ(node id:0)とスレーブ(node id:1)の両方に送信されてしまいました。
> 
> 以下、動作確認したときのログです。
> 
> 2012-10-04 10:35:01 LOG:   pid 10430: pgpool-II successfully started. version 3.2.0 (namameboshi)
> 2012-10-04 10:35:14 LOG:   pid 10463: statement: /* comment */ SELECT * FROM tbl;
> 2012-10-04 10:35:14 LOG:   pid 10463: DB node id: 0 backend pid: 10489 statement: BEGIN
> 2012-10-04 10:35:14 LOG:   pid 10463: DB node id: 1 backend pid: 10488 statement: BEGIN
> 2012-10-04 10:35:14 LOG:   pid 10463: DB node id: 0 backend pid: 10489 statement: /* comment */ SELECT * FROM tbl;
> 2012-10-04 10:35:14 LOG:   pid 10463: DB node id: 1 backend pid: 10488 statement: /* comment */ SELECT * FROM tbl;
> 2012-10-04 10:35:14 LOG:   pid 10463: DB node id: 1 backend pid: 10488 statement: COMMIT
> 2012-10-04 10:35:14 LOG:   pid 10463: DB node id: 0 backend pid: 10489 statement: COMMIT
> 
> 以上です。よろしくお願い致します。
> 
> (2012/10/03 22:09), Tatsuo Ishii wrote:
>> 石井です。
>> 
>> たしかgit上では修正されていると思うので、pgpool-II- 3.2 stable treeで確
>> 認いただけないでしょうか?
>> --
>> Tatsuo Ishii
>> SRA OSS, Inc. Japan
>> English: http://www.sraoss.co.jp/index_en.php
>> Japanese: http://www.sraoss.co.jp
>> 
>>> はじめまして。齋藤と申します。
>>>
>>> 設定パラメータ replicate_select の挙動について、
>>> 教えて頂けないでしょうか。
>>>
>>> ユーザマニュアルでは、
>>> 「false を設定すると SELECT 文をマスタのみに送信します。」
>>> と記載されておりますが、SELECT 文の冒頭にコメント( /* comment */ )
>>> を付与すると、マスタ(node id:0)とスレーブ(node id:1)の両方に
>>> 送信されてしまいます。
>>>
>>> SELECT 文の冒頭にコメントが付与されているときには、
>>>    replicate_select = false
>>> の設定は、効かなくなってしまうのでしょうか?
>>>
>>> 以下、動作確認したときのログです。
>>> ( pgpool-II 3.2.0 をレプリケーションモードで利用しています。)
>>>
>>> 2012-10-03 11:11:41 LOG:   pid 472: statement: /* comment */ SELECT * FROM tbl;
>>> 2012-10-03 11:11:41 LOG:   pid 472: DB node id: 0 backend pid: 502 statement: BEGIN
>>> 2012-10-03 11:11:41 LOG:   pid 472: DB node id: 1 backend pid: 503 statement: BEGIN
>>> 2012-10-03 11:11:41 LOG:   pid 472: DB node id: 0 backend pid: 502 statement: /* comment */ SELECT * FROM tbl;
>>> 2012-10-03 11:11:41 LOG:   pid 472: DB node id: 1 backend pid: 503 statement: /* comment */ SELECT * FROM tbl;
>>> 2012-10-03 11:11:41 LOG:   pid 472: DB node id: 1 backend pid: 503 statement: COMMIT
>>> 2012-10-03 11:11:41 LOG:   pid 472: DB node id: 0 backend pid: 502 statement: COMMIT
>>>
>>> 以上です。よろしくお願い致します。
>>> _______________________________________________
>>> pgpool-general-jp mailing list
>>> pgpool-general-jp @ sraoss.jp
>>> http://www.sraoss.jp/mailman/listinfo/pgpool-general-jp
>> _______________________________________________
>> pgpool-general-jp mailing list
>> pgpool-general-jp @ sraoss.jp
>> http://www.sraoss.jp/mailman/listinfo/pgpool-general-jp
>> 
> _______________________________________________
> pgpool-general-jp mailing list
> pgpool-general-jp @ sraoss.jp
> http://www.sraoss.jp/mailman/listinfo/pgpool-general-jp


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