[pgsql-jp: 41652] pgpoolの縮退運転について

岩田 daiki @ bigsize.com
2014年 5月 23日 (金) 09:57:27 JST


初めて投稿させていただきます、岩田と申します。

環境は、pgpool-II 2.3.3+postgreSQL8.2.4×3です。pgpoolをレプリケーショ
ンモードで動作させており、主 要な設定は下記のとおりです。

replication_mode = true
load_balance_mode = true
replication_stop_on_mismatch = true
replicate_select = false
master_slave_mode = false
parallel_mode = false
connection_cache = true
health_check_timeout = 20
health_check_period = 0

あるUPDATE分が影響してpgpoolが不一致を検出しABORTさせた後、postgreSQL(セ
カンダリ2台目)が切り離されて縮退運 転となりました。下記がその当時のクエ
リログですが、伏せてあるUPDATE分はpostgreSQL3台ともまったく同じ内容です。

内容が同じなのに不一致って何?と思ったんですが、良く観察すると
postgreSQL(セカンダリ1台目)のdurationが176.003 msでした。原因はこれか
な?とも思いましたが、クエリログにrollback等の記録もないのでやはり不一致
の根本的な理由が分からずにいま す。

また、”replication_stop_on_mismatch = true”の設定がされてますので、不一
致があった場合、多数決制により縮退しますが、postgreSQL(セカンダリ2台目)
が切り離された理由もわ かりません。

pgpoolの動きでなにか見落としがあるような気がしてならない(例えばヘルス
チェックの動きとか・・)のですが、分かる方おられましたらヒン ト頂ければ幸
いです。

※ なお、残念ながらpgpoolのログはとってません;

# postgreSQL(マスタ)

2014-05-20 23:16:06 JST [56956]: [60831-1] LOG: statement: UPDATE
*************
2014-05-20 23:16:06 JST [56956]: [60832-1] LOG: duration: 0.373 ms
2014-05-20 23:16:06 JST [56956]: [60833-1] ERROR: syntax error at or
near "send" at character 1
2014-05-20 23:16:06 JST [56956]: [60834-1] STATEMENT: send invalid query
from pgpool to abort transaction
2014-05-20 23:16:06 JST [56956]: [60835-1] LOG: statement: ABORT

# postgreSQL(セカンダリ1台目)

2014-05-20 23:16:06 JST [51974]: [75265-1] LOG: statement: UPDATE
*************
2014-05-20 23:16:06 JST [51974]: [75266-1] LOG: duration: 176.003 ms
2014-05-20 23:16:06 JST [51974]: [75267-1] ERROR: syntax error at or
near "send" at character 1
2014-05-20 23:16:06 JST [51974]: [75268-1] STATEMENT: send invalid query
from pgpool to abort transaction
2014-05-20 23:16:06 JST [51974]: [75269-1] LOG: statement: ABORT

# postgreSQL(セカンダリ2台目)

2014-05-20 23:16:06 JST [13813]: [73773-1] LOG: statement: UPDATE
*************
2014-05-20 23:16:06 JST [13813]: [73774-1] LOG: duration: 0.425 ms
2014-05-20 23:16:06 JST [13813]: [73775-1] ERROR: syntax error at or
near "send" at character 1
2014-05-20 23:16:06 JST [13813]: [73776-1] STATEMENT: send invalid query
from pgpool to abort transaction
2014-05-20 23:16:06 JST [13813]: [73777-1] LOG: statement: ABORT
2014-05-20 23:16:07 JST [14066]: [75139-1] LOG: unexpected EOF on client
connection
以降、"unexpected EOF on client connection"が続きます ...

よろしくお願いいたします。



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