﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	uname	nginx_version
1329	Blocking STALE requests when using fastcgi_cache_background_update	nixelsolutions@…		"When using fastcgi_cache_background_update nginx will immediately send the STALE response to the client but it will keep client connection open until fastcgi upstream responds. The effect is that the client is waiting until upstream closes its connection.

I first thought it was due to ticket #1249 but apparently this is another problem: before 1.13.1 version the effect was that client received the STALE response (headers+body) after upstream closed the connection, resulting in a high TTFB and fast content download time. After 1.13.1 version, the client receives the STALE response (headers+body) immediately, but the connection is closed after upstream closes its own connection, resulting in a low TTFB but a high content download time.

It is easy to reproduce with a PHP script like this:

{{{
#!div style=""font-size: 80%""
Code highlighting:
  {{{#!php
<?php

echo date(""c"");

sleep(5);
}}}

I'm also using nginx within a Docker container and bridged networking.

Attached you will find the debug log for the request."	defect	new	minor		other	1.13.x			manel@…	Linux aaba177d5494 3.16.0-77-generic #99~14.04.1-Ubuntu SMP Tue Jun 28 19:17:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux	"nginx version: nginx/1.13.3
built with OpenSSL 1.1.0f  25 May 2017
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIC -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now -fPIC' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_flv_module --with-http_geoip_module=dynamic --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_mp4_module --with-http_perl_module=dynamic --with-http_random_index_module --with-http_secure_link_module --with-http_sub_module --with-http_xslt_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-stream=dynamic --with-stream_ssl_module --with-stream_ssl_preread_module --add-dynamic-module=/build/nginx-SvfEre/nginx-1.13.3/debian/modules/headers-more-nginx-module --add-dynamic-module=/build/nginx-SvfEre/nginx-1.13.3/debian/modules/nginx-auth-pam --add-dynamic-module=/build/nginx-SvfEre/nginx-1.13.3/debian/modules/nginx-cache-purge --add-dynamic-module=/build/nginx-SvfEre/nginx-1.13.3/debian/modules/nginx-dav-ext-module --add-dynamic-module=/build/nginx-SvfEre/nginx-1.13.3/debian/modules/nginx-development-kit --add-dynamic-module=/build/nginx-SvfEre/nginx-1.13.3/debian/modules/nginx-echo --add-dynamic-module=/build/nginx-SvfEre/nginx-1.13.3/debian/modules/ngx-fancyindex --add-dynamic-module=/build/nginx-SvfEre/nginx-1.13.3/debian/modules/nchan --add-dynamic-module=/build/nginx-SvfEre/nginx-1.13.3/debian/modules/nginx-lua --add-dynamic-module=/build/nginx-SvfEre/nginx-1.13.3/debian/modules/nginx-rtmp --add-dynamic-module=/build/nginx-SvfEre/nginx-1.13.3/debian/modules/nginx-upload-progress --add-dynamic-module=/build/nginx-SvfEre/nginx-1.13.3/debian/modules/nginx-upstream-fair --add-dynamic-module=/build/nginx-SvfEre/nginx-1.13.3/debian/modules/ngx_http_substitutions_filter_module"
