<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<p>Hello. The approach with tuning tcp timeouts is workable but in
some circumstance it is not applicable. Our customer needs
solution with configuration only in software components, such as:
pgpool, postgresql, etc. The networks where such solution will be
deployed can be unpredictably different in different network
components. So, our solution should be configurable itself for
different network environments.</p>
<p>We found out that in the event of shortterm loss of connection
between pgpool and database, pgpool detaches node from the pool
and doesn't reconnect its own without restarting. Besides it,
clients that were connected to pgpool have disconnected and cannot
reconnect until pgpool is restarted. <br>
</p>
<p>The point is that in our solution we use pgpool as connection
pooler and load balancer only, without controling cluster.
Failoving management is carried out by patroni. <br>
</p>
<p>Could anyone advise any pgpool parameters set configuration when
pgpool never detach nodes from its pool but try reconnect with
specified period and continue interact with the client.<br>
</p>
<pre class="moz-signature" cols="72">Regards,
Nikolay
</pre>
<div class="moz-cite-prefix">12.04.2021 11:05, Nathan Ward пишет:<br>
</div>
<blockquote type="cite" cite="mid:F3D0F9F0-B06F-4DAF-8DA9-19FA4E2257BC@daork.net">
<br class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">On 8/04/2021, at 5:13 PM, Nikolay Mastilo (HM)
<<a href="mailto:nikm71@hotmail.com" class="" moz-do-not-send="true">nikm71@hotmail.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="">
<p class=""><span style="color: rgb(29, 28, 29);
font-family: Slack-Lato, appleLogo, sans-serif;
font-size: 15px; font-style: normal;
font-variant-ligatures: common-ligatures;
font-variant-caps: normal; font-weight: 400;
letter-spacing: normal; orphans: 2; text-align: left;
text-indent: 0px; text-transform: none; white-space:
normal; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color:
rgb(248, 248, 248); text-decoration-thickness:
initial; text-decoration-style: initial;
text-decoration-color: initial; display: inline
!important; float: none;" class="">Hi all! Does anyone
have experience in launching pgpool2 in kubernetes?
Our pgpool2 image running in k8s freezes after 90min
and does not answer on requests.</span></p>
<p class=""><span style="color: rgb(29, 28, 29);
font-family: Slack-Lato, appleLogo, sans-serif;
font-size: 15px; font-style: normal;
font-variant-ligatures: common-ligatures;
font-variant-caps: normal; font-weight: 400;
letter-spacing: normal; orphans: 2; text-align: left;
text-indent: 0px; text-transform: none; white-space:
normal; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color:
rgb(248, 248, 248); text-decoration-thickness:
initial; text-decoration-style: initial;
text-decoration-color: initial; display: inline
!important; float: none;" class="">It answers after
restart only. Database was neither stopped nor
restarted. Please help!</span></p>
</div>
</div>
</blockquote>
</div>
<div><br class="">
</div>
<div>
<div>
<div>Hi</div>
<div><br class="">
</div>
This sounds to me a lot like your kernel is configured with a
conntrack timeout of 90m somewhere. By default the linux tcp
keepalive doesn’t kick in until 7200s (120m). This is very
common when using hardware stateful firewalls with low tcp
timeouts.</div>
<div><br class="">
</div>
<div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0,
0);" class="">Check the
sysctl net.netfilter.nf_conntrack_tcp_timeout_established in
your host, and/or adjust the kernel tcp keepalive start
timer (</span><font class="" color="#000000">net.ipv4.tcp_keepalive_time).</font></div>
<div><font class="" color="#000000"><br class="">
</font></div>
<div><font class="" color="#000000">Also check other similar
keepalive / timeout things which apply. iptables can set the
timeout per flow, as well.</font></div>
<div><font class="" color="#000000"><br class="">
</font></div>
<div>Your environment might also have some proxy stuff going on
with different timeouts and/or keepalive timers, so you’ll
need to look in to that.</div>
<div><br class="">
</div>
<div>Almost certainly though, this is a tcp timeout in a
firewall (probably iptables).</div>
<div><br class="">
</div>
<div><span style="color: rgb(0, 0, 0);" class="">--</span></div>
<div><font class="" color="#000000">Nathan Ward</font></div>
<div><br class="">
</div>
</div>
</blockquote>
</body>
</html>