more info in Connections.checkin timout errors

This commit is contained in:
Alexander Strizhakov 2020-02-21 12:53:40 +03:00
parent a03c420b84
commit ad8f26c0a4
No known key found for this signature in database
GPG key ID: 022896A53AEF1381
5 changed files with 23 additions and 14 deletions

View file

@ -115,11 +115,16 @@ defp try_to_get_conn(uri, opts) do
opts
catch
:exit, {:timeout, _} ->
:exit, {:timeout, {_, operation, [_, {method, _}, _]}} ->
messages_len =
:gun_connections
|> Process.whereis()
|> Process.info(:message_queue_len)
Logger.warn(
"Gun connections pool checkin with timeout error #{uri.scheme}://#{
Connections.compose_uri(uri)
}"
"Gun connections pool checkin with timeout error for #{operation} #{method} #{
uri.scheme
}://#{Connections.compose_uri(uri)}. Messages length: #{messages_len}"
)
opts

View file

@ -61,8 +61,8 @@ test "returns successfully result" do
describe "connection pools" do
@describetag :integration
clear_config([Pleroma.Gun.API]) do
Pleroma.Config.put([Pleroma.Gun.API], Pleroma.Gun)
clear_config(Pleroma.Gun.API) do
Pleroma.Config.put(Pleroma.Gun.API, Pleroma.Gun)
end
test "gun" do

View file

@ -15,6 +15,10 @@ defmodule Pleroma.Pool.ConnectionsTest do
:ok
end
clear_config([:connections_pool, :retry]) do
Pleroma.Config.put([:connections_pool, :retry], 5)
end
setup do
name = :test_connections
adapter = Application.get_env(:tesla, :adapter)
@ -429,8 +433,8 @@ test "remove frequently used and idle", %{name: name} do
describe "integration test" do
@describetag :integration
clear_config([API]) do
Pleroma.Config.put([API], Pleroma.Gun)
clear_config(API) do
Pleroma.Config.put(API, Pleroma.Gun)
end
test "opens connection and reuse it on next request", %{name: name} do

View file

@ -8,8 +8,8 @@ defmodule Pleroma.ReverseProxy.Client.TeslaTest do
alias Pleroma.ReverseProxy.Client
@moduletag :integration
clear_config_all([Pleroma.Gun.API]) do
Pleroma.Config.put([Pleroma.Gun.API], Pleroma.Gun)
clear_config_all(Pleroma.Gun.API) do
Pleroma.Config.put(Pleroma.Gun.API, Pleroma.Gun)
end
setup do

View file

@ -345,12 +345,12 @@ test "with content-disposition header", %{conn: conn} do
describe "tesla client using gun integration" do
@describetag :integration
clear_config([Pleroma.ReverseProxy.Client]) do
Pleroma.Config.put([Pleroma.ReverseProxy.Client], Pleroma.ReverseProxy.Client.Tesla)
clear_config(Pleroma.ReverseProxy.Client) do
Pleroma.Config.put(Pleroma.ReverseProxy.Client, Pleroma.ReverseProxy.Client.Tesla)
end
clear_config([Pleroma.Gun.API]) do
Pleroma.Config.put([Pleroma.Gun.API], Pleroma.Gun)
clear_config(Pleroma.Gun.API) do
Pleroma.Config.put(Pleroma.Gun.API, Pleroma.Gun)
end
setup do