<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>