You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I guess this is due to the difference in our H1 & H2 pools, where H1 opens connections on demand and tries to keep them open as long as possible, but H2 connections are more persistent and we try to open them all right away and keep them open.
I don't think we should change that behaviour, so I'm not sure what the best solution is. nxdomain can be a transient error, for example if DNS hasn't propagated yet. But I can imagine for use cases where arbitrary domains are being requested, you probably don't want these errors logged (and you probably also don't want the pool to stick around).
Maybe we should consider adding a new callback to the Pool behaviour:
and then expose that on the top level Finch module, perhaps as Finch.shutdown_pool/1.
We could also return %Finch.Error{reason: :nxdomain} instead of the current :disconnected error, and then you could use that to decide whether or not you want to shut down the pool?
For completeness, :nxdomain also shows up on IPv4/IPv6 mismatch. One example that comes to mind is talking to internal Fly service (ipv6-only) from ipv4-by-default connection.
When default pool uses HTTP/2, a GET to an non existing domain produces repeated warning.
Note that when
:http1
, we don't have such retries.I think we should not retry on domain error in HTTP/2.
Cheers.
The text was updated successfully, but these errors were encountered: