[pgpool-general-jp: 1660] pcp_attach_node実行時の動きについて

北村由香 kitamura @ ryobi.co.jp
2021年 1月 25日 (月) 19:20:42 JST


いつもお世話になっております。
北村と申します。

pcp_attach_nodeコマンドを実行した際の、Pgpool-IIの
内部の動きについてご教示いただけませんでしょうか。

[環境]
○PostgreSQL 11
  - RHEL 7に構築
  - 2台構成で非同期ストリーミングレプリケーションを構築
○Pgpool-II 4.0.2
  - RHEL 7に構築(DBサーバとは別サーバ)
  - コネクションプーリング機能は使用しない(connection_cache = off)
   (javaのコネクションプーリングを使用)
  - 負荷分散機能は使用しない(load_balance_mode = off)

[状況]
運用中(アプリケーションがPgpool-II経由でプライマリDBにアクセス中)に、
スタンバイDBのリカバリ(pg_basebackup)を行いレプリケーションを再開し、
pcp_attach_nodeを実行しPgpool-II にスタンバイDBを復帰させました。
以下は、pcp_attach_node実行時のPgpool-IIのログです。
--------------------------------
LOG:  Do not restart children because we are failing back node id 1 host: dbnode02 port: 5432 and we are in streaming replication mode and not all backends were down
LOG:  find_primary_node_repeatedly: waiting for finding a primary node
LOG:  verify_backend_node_status: primary 0 does not connect to standby 1
LOG:  verify_backend_node_status: primary 0 owns only 0 standbys out of 1
LOG:  find_primary_node: primary node is 0
LOG:  find_primary_node: standby node is 1
LOG:  failover: set new primary node: 0
LOG:  failover: set new master node: 0
LOG:  new IPC connection received
LOG:  received the failover indication from Pgpool-II on IPC interface
LOG:  watchdog is informed of failover end by the main process
LOG:  worker process received restart request
LOG:  failback done. reconnect host dbnode02(5432)
LOG:  failback event detected ★1
DETAIL:  restarting myself ★1
LOG:  failback event detected
DETAIL:  restarting myself
LOG:  selecting backend connection ★2
DETAIL:  failback event detected, discarding existing connections ★2
・・・
--------------------------------

[ご教示いただきたい事項]
1)★1のメッセージが、pcp_attach_node実行後に多数続けて出力されて
 いるのですが、このメッセージは、pcp_attach_nodeの実行により、
 子プロセスの再起動を行っているという意味でよろしいでしょうか?
 また、pcp_attach_node実行後に子プロセスの再起動が行われるのは
 仕様となりますでしょうか?

2)★2のメッセージも、pcp_attach_node実行後に何度か出力されて
 いるのですが、このメッセージは、pcp_attach_node実行時にDBへの
 コネクションが張られていたため、そのコネクションを破棄した、
 という意味でよろしいでしょうか?
 また、pcp_attach_node実行により、接続済みのコネクションが
 破棄されることは仕様となりますでしょうか?

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



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