[pgpool-general-jp: 1343] Re: pgpool-II_3.4.0の仕様について

Kazuki Uehara uehara.kazuki @ lab.ntt.co.jp
2015年 1月 13日 (火) 11:09:37 JST


To:石井様

上原です。
お世話になっております。


> [1]に対しては、atolで変換前に数字かどうか確認し、数字でない場合はエラー
> としてpgpool-IIが起動しないようにしました(他の設定項目同様、設定エラー扱い)。
>
> [2]に対しては、そもそも空の正規表現を受け付けること自体が間違っているの
> で、[1]同様設定エラー、pgpool-IIが起動しないようにしました。

ご確認、及びご対応いただきありがとうございます。


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

(2015/01/11 10:21), Tatsuo Ishii wrote:
> 上原様
> 
> お世話になっています。石井です。
> 
>> 石井さま
>>
>> 上原です。
>> お世話になっております。
>>
>> ご確認いただきありがとうございます。
>>
>>>> ■3 redirect_listの内容が不正な場合、ロードバランシングはされない?
>>
>> 申し訳ありません。
>> こちらの条件等の説明が不足しておりましたので、訂正させていただきます。
>>
>> お手数をお掛けして申し訳ありませんが、再度ご確認いただけないでしょうか。
>>
>> 以下の2パターンでのロードバランシングの挙動を確認した結果は
>> 仕様どおりのものかご確認いただけると幸いです。
> 
> 確認しました。
> 
>> パターン1 database_redirect_preference_list = 'testdb1:abcd&testdb2:1'
> 
> "testdb1"というDBに対し、"abcd&testdb2:1"というDBノード番号にリダイレク
> トせよ、という設定と解釈されているようです。
> 
>> 結果:testdb1へのSQLは全てプライマリで実行される。
>>    testdb2へのSQLはロードバランシングされる。
> 
> pgpool-IIでは文字列からDBノード番号に変換するのにatolを使っているため、
> "abcd&testdb2:1"が0に変換され、testdb1に対する負荷分散がすべてプライマ
> リ(というかノード0)になってしまったようです[1]。
> 
>> パターン2 database_redirect_preference_list = ':0,testdb2:1'
>> 結果:testdb1へのSQLは全てプライマリで実行される。
>>    testdb2へのSQLは全てプライマリで実行される。
> 
> ""を正規表現としてコンパイルする際に、"^"に変換しており(これ自体はバグ。
> 本当は"^$"に変換したかった)、結果すべてのデータベース名にマッチする正規
> 表現になってしまい、どんなDBに対する負荷分散でもすべてプライマリ(という
> かノード0)になってしまったようです[2]。
> 
> [1]に対しては、atolで変換前に数字かどうか確認し、数字でない場合はエラー
> としてpgpool-IIが起動しないようにしました(他の設定項目同様、設定エラー扱い)。
> 
> [2]に対しては、そもそも空の正規表現を受け付けること自体が間違っているの
> で、[1]同様設定エラー、pgpool-IIが起動しないようにしました。
> --
> Tatsuo Ishii
> SRA OSS, Inc. Japan
> English: http://www.sraoss.co.jp/index_en.php
> Japanese:http://www.sraoss.co.jp


-- 
上原 一樹 (Kazuki Uehara)
Mail : uehara.kazuki @ lab.ntt.co.jp
Phone: 03-5860-5115



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