mint
mint copied to clipboard
Unexpected unwrapped return `%Mint.TransportError{reason: :closed}` from `Mint.HTTP1.connect/4`
- Req version: 0.5.1
- Finch version: 0.18.0
- Mint version: 1.6.1
- Elixir version: 1.15.7
- OTP version: Erlang/OTP 26 [erts-14.2.5]
I observed the following in my application logs:
** (CaseClauseError) no case clause matching: %Mint.TransportError{reason: :closed}
(finch 0.18.0) lib/finch/http1/conn.ex:52: Finch.HTTP1.Conn.connect/2
(finch 0.18.0) lib/finch/http1/pool.ex:58: anonymous fn/10 in Finch.HTTP1.Pool.request/6
(nimble_pool 1.1.0) lib/nimble_pool.ex:462: NimblePool.checkout!/4
(finch 0.18.0) lib/finch/http1/pool.ex:52: Finch.HTTP1.Pool.request/6
(finch 0.18.0) lib/finch.ex:472: anonymous fn/4 in Finch.request/3
(telemetry 1.2.1) /opt/terrapin-app/deps/telemetry/src/telemetry.erl:321: :telemetry.span/3
(req 0.5.1) lib/req/steps.ex:977: Req.Steps.run_finch_request/3
(req 0.5.1) lib/req/steps.ex:809: Req.Steps.run_finch/4
case Mint.HTTP.connect(conn.scheme, conn.host, conn.port, conn_opts) do
{:ok, mint} ->
Telemetry.stop(:connect, start_time, meta)
SSL.maybe_log_secrets(conn.scheme, conn_opts, mint)
{:ok, %{conn | mint: mint}}
{:error, error} ->
meta = Map.put(meta, :error, error)
Telemetry.stop(:connect, start_time, meta)
{:error, conn, error}
end
Mint.HTTP1.connect/4 return type should be:
@spec connect(Types.scheme(), Types.address(), :inet.port_number(), keyword()) ::
{:ok, t()} | {:error, Types.error()}
Not sure how to replicate given that this for me is a transient issue