<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Op za 9 nov 2024 om 08:56 schreef Tatsuo Ishii <<a href="mailto:ishii@postgresql.org">ishii@postgresql.org</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> PostgreSQL handles both the terminate message and broken socket (EOF<br>
> upon recv(2)) in same way. From src/backend/tcop/postgres.c around<br>
> line 4993:<br>> Note that "PqMsg_Terminate" is actually 'X' (terminate message). So<br>
> there's no fear that some resouces remain upon broken connection<br>
> scenario (EOF). However, problem is, it may take long time before<br>
> PostgreSQL notices EOF if tcp_keepalives_idle is not set (as you said<br>
> if it's not set, most system default is likely 2 hours).<br></blockquote><div><br></div><div> That was exactly what I was afraid of. It's probably not going to happen often, but for these cases, it's better to be on the safe side.</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">
>> What if pool_init_cp would set a flag to indicates a successful<br>
>> init. close_all_backend_connections could then check this flag and only<br>
>> close the connections if this flag is set. I don't know if is actually<br>
>> possible, because I'm a Java developer and things work quite different<br>
>> there. But IMHO, it makes sense to at least try to close the connections<br>
>> from the side of pgpool if this is possible.<br>
> <br>
> Sounds like a good idea. I will revert the previous commit and try to<br>
> implement another patch for this.<br>
<br>
v2 patch attached.<br></blockquote><div><br></div><div>Thanks, I've added the patch to our build system. As this crash is very rare, all I can do is verify the correct working of pgpool with this patch (and I see no reason why it would not work). Even if the issue is not fixed, it may take months to resurface.</div><div><br></div><div>Best regards,</div><div>Emond</div></div></div>