[pgpool-hackers: 3467] Re: Bug in pool_check_fd
Tatsuo Ishii
ishii at sraoss.co.jp
Mon Oct 21 13:56:11 JST 2019
Fix committed in 3.7 and above.
Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp
> I accidentally found a bug in pool_check_fd in 3.7 and above.
> If does following check:
>
> if (processType == PT_MAIN && processState == PERFORMING_HEALTH_CHECK && errno == EINTR && health_check_timer_expired)
>
>>From 3.7, health check has been given separate processType because it
> has become separate process from main. Thus this should be fixed to:
>
> if (processType == PT_HEALTH_CHECK && errno == EINTR && health_check_timer_expired)
>
> In 4.0 or earlier this bug effectively disables health_check_timeout
> while reading packets from backend. For 4.1 or later, this does not
> affect because pool_read in health check because in the code path
> pool_check_fd does not gets called.
>
> Attached is a patch to fix the bug.
>
> Best regards,
> --
> 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