code: def _kazoo_connect(self, host, port):
          
  
          ret = self._orig_kazoo_connect(host, port)
          return max(self.loop_wait - 2, 2)*1000, ret[1]
docs: Kazoo is using Ping's to determine health of connection to zookeeper. If there is no
          response on Ping after Ping interval (1/2 from read_timeout) it will consider current
          connection dead and try to connect to another node. Without this "magic" it was taking
          up to 2/3 from session timeout (ttl) to figure out that connection was dead and we had
          only small time for reconnect and retry.
  
          This method is needed to return different value of read_timeout, which is not calculated
          from negotiated session timeout but from value of `loop_wait`. And it is 2 sec smaller
          than loop_wait, because we can spend up to 2 seconds when calling `touch_member()` and
          `write_leader_optime()` methods, which also may hang...