about summary refs log tree commit homepage
path: root/script
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2019-09-27 21:01:01 +0000
committerEric Wong <e@80x24.org>2019-09-27 21:04:48 +0000
commit2fc42236f72ad16a33288f58086edc95da56c612 (patch)
treeba55eb23f905c5416c0f10942aaea0af68f8a96a /script
parent2052e92ba1f75efca6935558ea01898d01751f40 (diff)
downloadpublic-inbox-2fc42236f72ad16a33288f58086edc95da56c612.tar.gz
The httpd-supplied write callback is the leak culprit under Perl
5.16.3.  undef-ing it immediately after use keeps a repeated
"git fetch" loop from monotonically increasing memory and FD use
on the Perl shipped with RHEL/CentOS 7.x.

Other endpoints tested showed no increase in memory use under
constant load with "ab -HAccept-Encoding:gzip -k", including the
async psgi_qx code path used by $INBOX_URL/$OBJECT_ID/s/ via
SolverGit module.
Diffstat (limited to 'script')
-rwxr-xr-xscript/public-inbox-httpd8
1 files changed, 1 insertions, 7 deletions
diff --git a/script/public-inbox-httpd b/script/public-inbox-httpd
index 9b869f90..b2464f4e 100755
--- a/script/public-inbox-httpd
+++ b/script/public-inbox-httpd
@@ -24,13 +24,7 @@ my $refresh = sub {
                 my $www = PublicInbox::WWW->new;
                 $www->preload;
                 $app = builder {
-                        # Perl 5.16.3 leaks in our "push" response code path
-                        # (e.g. Qspawn) due to something in
-                        # Plack::Util::response_cb, regardless of whether the
-                        # client is sending Accept-Encoding:gzip requests.
-                        # perl5180delta documents many leak fixes, so assume
-                        # 5.18+ is safe for now and bump the check as-need:
-                        $] >= 5.018000 and eval {
+                        eval {
                                 enable 'Deflater',
                                         content_type => [ qw(
                                                 text/html