<div dir="ltr">Hi Ishii-San<div><br></div><div>I am working on config framework modification to allow same name parameters with and without index postfix, I am almost done with the framework related changes.</div><div>And now for testing I need to add one such parameter and I was thinking instead of using a dummy configuration variable for testing I would rather add the <i>health_check_period</i> and <i>health_check_period[idx]</i> so that you can also use it.</div><div>For that can you tell me where do you want to create health_check_period variable for each backend? Is BackendInfo structure is the right place? <br></div><div><br></div><div>Thanks</div><div>Best Regards</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 24, 2017 at 7:42 AM, Tatsuo Ishii <span dir="ltr"><<a href="mailto:ishii@sraoss.co.jp" target="_blank">ishii@sraoss.co.jp</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">>> On 21-Apr-2017, at 4:31 AM, Tatsuo Ishii <<a href="mailto:ishii@sraoss.co.jp">ishii@sraoss.co.jp</a>> wrote:<br>
>><br>
>> Usama,<br>
>><br>
>> Is it possible to have following config parameter at the same time?<br>
>> My feeling is we can't because current implementation of config<br>
>> handling does not allow it.<br>
>><br>
>> health_check_period = 10<br>
>> health_check_period0 = 5<br>
><br>
> Yes, having the same named configuration parameter with and without index postfix would cause problem with the current implementations, but if we want to support this I can tweak the configuration framework to allow that.<br>
<br>
</span>That would be desirable.<br>
<div class="HOEnZb"><div class="h5"><br>
Best regards,<br>
--<br>
Tatsuo Ishii<br>
SRA OSS, Inc. Japan<br>
English: <a href="http://www.sraoss.co.jp/index_en.php" rel="noreferrer" target="_blank">http://www.sraoss.co.jp/index_<wbr>en.php</a><br>
Japanese:<a href="http://www.sraoss.co.jp" rel="noreferrer" target="_blank">http://www.sraoss.co.<wbr>jp</a><br>
<br>
> Thanks<br>
> Best regards<br>
> Muhammad Usama<br>
><br>
>><br>
>> Best regards,<br>
>> --<br>
>> Tatsuo Ishii<br>
>> SRA OSS, Inc. Japan<br>
>> English: <a href="http://www.sraoss.co.jp/index_en.php" rel="noreferrer" target="_blank">http://www.sraoss.co.jp/index_<wbr>en.php</a><br>
>> Japanese:<a href="http://www.sraoss.co.jp" rel="noreferrer" target="_blank">http://www.sraoss.co.<wbr>jp</a><br>
>><br>
>>> Hi,<br>
>>><br>
>>> This is a Request for Comments on the new implementation of health<br>
>>> check aiming for Pgpool-II 3.7.<br>
>>><br>
>>> Problems:<br>
>>><br>
>>> Current implementation of health check is a single serial processing<br>
>>> for all of database nodes. This implies some limitations for health<br>
>>> check process: 1) it is not possible to specify different health check<br>
>>> configuration values for each database node, 2) node failure detection<br>
>>> may take longer. For example, if it takes 10 seconds before detecting<br>
>>> node 0 failure, then detecting node 1 failure will be delayed at least<br>
>>> 10 seconds because it starts node failure detection after node 0.<br>
>>><br>
>>> The solution:<br>
>>><br>
>>> Allow to specify health check parameters for each node. Pgpool.conf<br>
>>> will look like:<br>
>>><br>
>>> health_check_period0 = 10<br>
>>> health_check_timeout0 = 20<br>
>>> :<br>
>>> :<br>
>>><br>
>>> where "0" means database node 0 (similar concept as "backend_*0<br>
>>> parameters).<br>
>>><br>
>>> To make admin's life easier, current parameters can be used as<br>
>>> well. Suppose there are 3 nodes, and we have:<br>
>>><br>
>>> health_check_period = 10<br>
>>> health_check_period0 = 5<br>
>>><br>
>>> then health_check_period for node 1 and 2 will be 10, while<br>
>>> health_check_period for node 0 will be 5. So parameter names without<br>
>>> node id works as a "global variable".<br>
>>><br>
>>> The implementation:<br>
>>><br>
>>> Create separate child process of pgpool main process and let do the<br>
>>> heal check job for each database node. Once the health check child<br>
>>> process detects node failure, it signals to main process and main<br>
>>> process will perform failover.<br>
>>><br>
>>> This architecture makes pgpool main process simpler and robust, while<br>
>>> earlier detection of node failure by the health check child process.<br>
>>><br>
>>> Comments and suggestions are welcome.<br>
>>><br>
>>> Best regards,<br>
>>> --<br>
>>> Tatsuo Ishii<br>
>>> SRA OSS, Inc. Japan<br>
>>> English: <a href="http://www.sraoss.co.jp/index_en.php" rel="noreferrer" target="_blank">http://www.sraoss.co.jp/index_<wbr>en.php</a><br>
>>> Japanese:<a href="http://www.sraoss.co.jp" rel="noreferrer" target="_blank">http://www.sraoss.co.<wbr>jp</a><br>
>>> ______________________________<wbr>_________________<br>
>>> pgpool-hackers mailing list<br>
>>> <a href="mailto:pgpool-hackers@pgpool.net">pgpool-hackers@pgpool.net</a><br>
>>> <a href="http://www.pgpool.net/mailman/listinfo/pgpool-hackers" rel="noreferrer" target="_blank">http://www.pgpool.net/mailman/<wbr>listinfo/pgpool-hackers</a><br>
</div></div></blockquote></div><br></div>