[pgpool-hackers: 1034] Work around for child process hanging

Tatsuo Ishii ishii at postgresql.org
Thu Sep 3 14:13:49 JST 2015


Sometimes we want to kill pgpool-II child for various reasons. For
example, it goes into an infinite loop, it hopelessly wait for
response from backend etc... Unfortunately currently there's no good
way to kill such a process.

- If it is killed by SIGTERM, pgpool-II parent will not fork a new one
  because it thinks that it is told being shutdown.

- If it is killed by SIGKILL, pgpool-II parent will fork a new one but
  killing pgpool child using SIGKILL might cause unwanted side
  effects.

Possible solutions would be:

- Check the number of child process in the health checking loop. If it
  is less than num_init_children, for a new one.

- If parent notices that child pgpool-II is killed by SIGTERM, check
  if it is told to shut down. If not, for a new one.

The latter looks smart but I'm not sure if it's possible.

Comments?
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp


More information about the pgpool-hackers mailing list