logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: 90cbf55236d93383af56364947432b04aafc525d
parent: dd4d10b275e76afc029aea642ae3d69b07e33d81
Author: feld <feld@feld.me>
Date:   Wed,  8 Apr 2020 17:13:54 +0000

Merge branch 'gun-pool-fix' into 'develop'

Fix for gun connections pool

Closes #1669 and #1664

See merge request pleroma/pleroma!2356

Diffstat:

MCHANGELOG.md3+++
Mlib/pleroma/gun/conn.ex4+++-
2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md @@ -20,6 +20,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Mastodon API: Support for `include_types` in `/api/v1/notifications`. </details> +### Fixed +- Gun connections pool `max_connections` option. + ## [2.0.0] - 2019-03-08 ### Security - Mastodon API: Fix being able to request enourmous amount of statuses in timelines leading to DoS. Now limited to 40 per request. diff --git a/lib/pleroma/gun/conn.ex b/lib/pleroma/gun/conn.ex @@ -49,8 +49,10 @@ defmodule Pleroma.Gun.Conn do key = "#{uri.scheme}:#{uri.host}:#{uri.port}" + max_connections = pool_opts[:max_connections] || 250 + conn_pid = - if Connections.count(name) < opts[:max_connection] do + if Connections.count(name) < max_connections do do_open(uri, opts) else close_least_used_and_do_open(name, uri, opts)