<div dir="ltr"><div dir="ltr">Hi,<div><br></div><div>Thank you peng for testing and coming up with a minimal test case.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Oct 24, 2022 at 3:38 PM Tatsuo Ishii <<a href="mailto:ishii@sraoss.co.jp">ishii@sraoss.co.jp</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Usama, Pengbo,<br>
<br>
>> after applying the patch, I have run regression test and encountered 7<br>
>> timeout.<br>
>> <br>
>> testing 008.dbredirect...timeout.<br>
>> testing 018.detach_primary...timeout.<br>
>> testing 033.prefer_lower_standby_delay...timeout.<br>
>> testing 034.promote_node...timeout.<br>
>> testing 075.detach_primary_left_down_node...timeout.<br>
>> testing 076.copy_hang...timeout.<br>
>> testing 077.invalid_failover_node...timeout.<br>
> <br>
> I found that some tests above failed when running pgpool_setup with 3 nodes.<br>
> <br>
> It seems that after running pcp_recovery_node, all child processes exited<br>
> with the messages "exited with success and will not be restarted".<br>
> <br>
> It can be reproduced by running "pgpool_setup -m s -n 3" command.<br>
> The log is attached.<br>
<br>
Peng,<br>
Reliably reproduced here. Thank you for the minimal test case. This<br>
helped my investigation a lot.<br>
<br>
Usama,<br>
I have looked in to this a little bit and I have doubt in following<br>
code fragment (src/main/pgpool_main.c around line 1981)<br>
<br>
                                if (pid == process_info[i].pid)<br>
                                {<br>
                                        found = true;<br>
                                        /* if found, fork a new child */<br>
                                        if (!switching && !exiting && restart_child &&<br>
                                                pool_config->process_management = PM_DYNAMIC)<br>
<br>
Shouldn't this be as following?<br>
<br>
                                                pool_config->process_management != PM_DYNAMIC)<br>
<br>
After this modification, all regression tests passed.<br></blockquote><div><br></div><div><a class="gmail_plusreply" id="plusReplyChip-2" href="mailto:ishii@sraoss.co.jp" tabindex="-1">@Tatsuo Ishii</a>  Thanks for pointing this out. It was a silly mistake on my part.</div><div><br></div><div>I am attaching the updated patch with the fix that also includes the documentation updates for the feature.</div><div><br></div><div>Kindly review</div><div><br></div><div><br></div><div>Thanks</div><div>Best  regards</div><div>Muhammad Usama</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Best reagards,<br>
--<br>
Tatsuo Ishii<br>
SRA OSS LLC<br>
English: <a href="http://www.sraoss.co.jp/index_en/" rel="noreferrer" target="_blank">http://www.sraoss.co.jp/index_en/</a><br>
Japanese:<a href="http://www.sraoss.co.jp" rel="noreferrer" target="_blank">http://www.sraoss.co.jp</a><br>
</blockquote></div></div>