[pgpool-hackers: 4203] Re: Dynamic spare process management of Pgpool-II children

Tatsuo Ishii ishii at sraoss.co.jp
Mon Oct 24 19:38:44 JST 2022


Hi Usama, Pengbo,

>> after applying the patch, I have run regression test and encountered 7
>> timeout.
>> 
>> testing 008.dbredirect...timeout.
>> testing 018.detach_primary...timeout.
>> testing 033.prefer_lower_standby_delay...timeout.
>> testing 034.promote_node...timeout.
>> testing 075.detach_primary_left_down_node...timeout.
>> testing 076.copy_hang...timeout.
>> testing 077.invalid_failover_node...timeout.
> 
> I found that some tests above failed when running pgpool_setup with 3 nodes.
> 
> It seems that after running pcp_recovery_node, all child processes exited
> with the messages "exited with success and will not be restarted".
> 
> It can be reproduced by running "pgpool_setup -m s -n 3" command.
> The log is attached.

Peng,
Reliably reproduced here. Thank you for the minimal test case. This
helped my investigation a lot.

Usama,
I have looked in to this a little bit and I have doubt in following
code fragment (src/main/pgpool_main.c around line 1981)

				if (pid == process_info[i].pid)
				{
					found = true;
					/* if found, fork a new child */
					if (!switching && !exiting && restart_child &&
						pool_config->process_management = PM_DYNAMIC)

Shouldn't this be as following?

						pool_config->process_management != PM_DYNAMIC)

After this modification, all regression tests passed.

Best reagards,
--
Tatsuo Ishii
SRA OSS LLC
English: http://www.sraoss.co.jp/index_en/
Japanese:http://www.sraoss.co.jp


More information about the pgpool-hackers mailing list