removing retry option and changing some logger messages levels

This commit is contained in:
Alexander Strizhakov 2020-02-19 12:19:03 +03:00
parent 138a3c1fe4
commit c9db0507f8
No known key found for this signature in database
GPG key ID: 022896A53AEF1381
3 changed files with 30 additions and 17 deletions

View file

@ -15,7 +15,7 @@ defmodule Pleroma.HTTP.Adapter.Gun do
connect_timeout: 20_000,
domain_lookup_timeout: 5_000,
tls_handshake_timeout: 5_000,
retry_timeout: 100,
retry: 0,
await_up_timeout: 5_000
]
@ -89,7 +89,7 @@ defp try_to_get_conn(uri, opts) do
try do
case Connections.checkin(uri, :gun_connections) do
nil ->
Logger.info(
Logger.debug(
"Gun connections pool checkin was not successful. Trying to open conn for next request."
)
@ -97,7 +97,9 @@ defp try_to_get_conn(uri, opts) do
opts
conn when is_pid(conn) ->
Logger.debug("received conn #{inspect(conn)} #{Connections.compose_uri(uri)}")
Logger.debug(
"received conn #{inspect(conn)} #{uri.scheme}://#{Connections.compose_uri(uri)}"
)
opts
|> Keyword.put(:conn, conn)
@ -105,18 +107,30 @@ defp try_to_get_conn(uri, opts) do
end
rescue
error ->
Logger.warn("Gun connections pool checkin caused error #{inspect(error)}")
Logger.warn(
"Gun connections pool checkin caused error #{uri.scheme}://#{
Connections.compose_uri(uri)
} #{inspect(error)}"
)
opts
catch
:exit, {:timeout, _} ->
Logger.info(
"Gun connections pool checkin with timeout error #{Connections.compose_uri(uri)}"
Logger.warn(
"Gun connections pool checkin with timeout error #{uri.scheme}://#{
Connections.compose_uri(uri)
}"
)
opts
:exit, error ->
Logger.warn("Gun pool checkin exited with error #{inspect(error)}")
Logger.warn(
"Gun pool checkin exited with error #{uri.scheme}://#{Connections.compose_uri(uri)} #{
inspect(error)
}"
)
opts
end
end

View file

@ -52,8 +52,7 @@ def open_conn(%URI{} = uri, name, opts) do
opts =
opts
|> Enum.into(%{})
|> Map.put_new(:receive, false)
|> Map.put_new(:retry, pool_opts[:retry] || 5)
|> Map.put_new(:retry, pool_opts[:retry] || 0)
|> Map.put_new(:retry_timeout, pool_opts[:retry_timeout] || 100)
|> Map.put_new(:await_up_timeout, pool_opts[:await_up_timeout] || 5_000)
@ -108,11 +107,11 @@ def handle_cast({:checkout, conn_pid, pid}, state) do
put_in(state.conns[key], %{conn | conn_state: conn_state, used_by: used_by})
else
false ->
Logger.warn("checkout for closed conn #{inspect(conn_pid)}")
Logger.debug("checkout for closed conn #{inspect(conn_pid)}")
state
nil ->
Logger.info("checkout for alive conn #{inspect(conn_pid)}, but is not in state")
Logger.debug("checkout for alive conn #{inspect(conn_pid)}, but is not in state")
state
end
@ -172,15 +171,15 @@ def handle_info({:gun_up, conn_pid, _protocol}, state) do
})
else
:error_gun_info ->
Logger.warn(":gun.info caused error")
Logger.debug(":gun.info caused error")
state
false ->
Logger.warn(":gun_up message for closed conn #{inspect(conn_pid)}")
Logger.debug(":gun_up message for closed conn #{inspect(conn_pid)}")
state
nil ->
Logger.warn(
Logger.debug(
":gun_up message for alive conn #{inspect(conn_pid)}, but deleted from state"
)
@ -216,11 +215,11 @@ def handle_info({:gun_down, conn_pid, _protocol, _reason, _killed}, state) do
else
false ->
# gun can send gun_down for closed conn, maybe connection is not closed yet
Logger.warn(":gun_down message for closed conn #{inspect(conn_pid)}")
Logger.debug(":gun_down message for closed conn #{inspect(conn_pid)}")
state
nil ->
Logger.warn(
Logger.debug(
":gun_down message for alive conn #{inspect(conn_pid)}, but deleted from state"
)

View file

@ -91,7 +91,7 @@ test "don't receive conn if receive_conn is false" do
test "get conn on next request" do
level = Application.get_env(:logger, :level)
Logger.configure(level: :info)
Logger.configure(level: :debug)
on_exit(fn -> Logger.configure(level: level) end)
uri = URI.parse("http://some-domain2.com")