by default don't use gun retries
authorAlexander Strizhakov <alex.strizhakov@gmail.com>
Fri, 21 Feb 2020 09:32:42 +0000 (12:32 +0300)
committerAlexander Strizhakov <alex.strizhakov@gmail.com>
Fri, 21 Feb 2020 09:32:42 +0000 (12:32 +0300)
remove conn depends on retry setting from config

config/config.exs
lib/pleroma/pool/connections.ex

index 853a53fc96fdd936a24f14443ecbec3505e73658..7f3a4d1b671de2f8513177a1bc9b1c4ca207afed 100644 (file)
@@ -599,7 +599,7 @@ config :pleroma, configurable_from_database: false
 config :pleroma, :connections_pool,
   receive_connection_timeout: 250,
   max_connections: 250,
-  retry: 5,
+  retry: 0,
   retry_timeout: 100,
   await_up_timeout: 5_000
 
index c7136e0e0cf8d9128f9aa387f41d18ecf1679bad..d20927580af1f63c2890c25f37c19b69fc19859b 100644 (file)
@@ -5,6 +5,8 @@
 defmodule Pleroma.Pool.Connections do
   use GenServer
 
+  alias Pleroma.Config
+
   require Logger
 
   @type domain :: String.t()
@@ -33,7 +35,7 @@ defmodule Pleroma.Pool.Connections do
   def checkin(url, name) when is_binary(url), do: checkin(URI.parse(url), name)
 
   def checkin(%URI{} = uri, name) do
-    timeout = Pleroma.Config.get([:connections_pool, :receive_connection_timeout], 250)
+    timeout = Config.get([:connections_pool, :receive_connection_timeout], 250)
 
     GenServer.call(
       name,
@@ -47,7 +49,7 @@ defmodule Pleroma.Pool.Connections do
   def open_conn(url, name, opts) when is_binary(url), do: open_conn(URI.parse(url), name, opts)
 
   def open_conn(%URI{} = uri, name, opts) do
-    pool_opts = Pleroma.Config.get([:connections_pool], [])
+    pool_opts = Config.get([:connections_pool], [])
 
     opts =
       opts
@@ -193,12 +195,13 @@ defmodule Pleroma.Pool.Connections do
 
   @impl true
   def handle_info({:gun_down, conn_pid, _protocol, _reason, _killed}, state) do
+    retries = Config.get([:connections_pool, :retry], 0)
     # we can't get info on this pid, because pid is dead
     state =
       with true <- Process.alive?(conn_pid),
            {key, conn} <- find_conn(state.conns, conn_pid) do
-        if conn.retries == 5 do
-          Logger.debug("closing conn if retries is eq 5 #{inspect(conn_pid)}")
+        if conn.retries == retries do
+          Logger.debug("closing conn if retries is eq  #{inspect(conn_pid)}")
           :ok = API.close(conn.conn)
 
           put_in(