- Jul 16, 2020
-
-
Alex Gleason authored
-
Alex Gleason authored
-
Alex Gleason authored
-
- Jul 15, 2020
-
-
feld authored
-
feld authored
-
feld authored
-
rinpatch authored
This produced error log messages about GenServer termination every time the connection was not open due to a timeout. Instead we stop with `{:shutdown, <gun_error>}` since shutting down when the connection can't be established is normal behavior.
-
Maksim authored
-
href authored
-
href authored
-
href authored
-
href authored
- `verify_fun` is not useful now - use `customize_check_hostname` (OTP 20+ so OK) - `partial_chain` is useless as of OTP 21.1 (wasn't there, but hackney/.. uses it)
-
href authored
-
href authored
-
href authored
-
href authored
-
href authored
-
href authored
-
rinpatch authored
The new pooling code just removes the connection when it's down, there is no need to reconnect a connection that is just sitting idle, better just open a new one next time it's needed
-
rinpatch authored
The numbers of the native time unit were so small the CRF was always 1, making it an LRU. This commit switches the time to miliseconds and changes the time delta multiplier to the one yielding mostly highest hit rates according to the paper
-
rinpatch authored
When the application restarts (which happens after certain config changes), the limiters are not destroyed, so `ConcurrentLimiter.new` will produce {:error, :existing}
-
rinpatch authored
There is no need for streaming the body if there is no body
-
rinpatch authored
-
rinpatch authored
See https://bugs.erlang.org/browse/ERL-1260 for more info. The ssl match function is basically copied from mint, except that `:string.lowercase/1` was replaced by `:string.casefold`. It was a TODO in mint's code, so might as well do it since we don't need to support OTP <20. Closes #1834
-
rinpatch authored
`:retry_timeout` and `:retry` got removed because reconnecting on failure is something the new pool intentionally doesn't do. `:max_overflow` had to go in favor of `:max_waiting`, I didn't reuse the key because the settings are very different in their behaviour. `:checkin_timeout` got removed in favor of `:connection_acquisition_wait`, I didn't reuse the key because the settings are somewhat different. I didn't do any migrations/deprecation warnings/changelog entries because these settings were never in stable.
-
rinpatch authored
-
rinpatch authored
-
rinpatch authored
-
rinpatch authored
-
rinpatch authored
-
rinpatch authored
-
rinpatch authored
-
rinpatch authored
While running this in production I noticed a number of ghost processes with all their clients dead before they released the connection, so let's track them to log it and remove them from clients