Opened 5 years ago

Closed 5 years ago

#1722 closed defect (fixed)

Error log of proxy buffer size for cache key looks weird

Reported by: keyolk@… Owned by:
Priority: trivial Milestone:
Component: nginx-module Version: 1.15.x
Keywords: log buffer cache Cc:
uname -a: Linux 05e0fc2f214f 4.14.11-nx #232 SMP Wed Jan 3 18:53:38 KST 2018 x86_64 x86_64 x86_64 GNU/Linux
nginx -V: nginx version: nginx/1.14.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'

Description

With long request uri I got below error log

2019/01/30 18:41:05 [error] 80#80: *26 proxy_buffer_size 4096 is not enough for cache key, it should be increased to at least 4096

It looks weird,
How about just change >= to > as below ?

--- a/src/http/ngx_http_upstream.c      Thu Feb 07 19:39:35 2019 +0300
+++ b/src/http/ngx_http_upstream.c      Mon Feb 11 13:36:53 2019 +0900
@@ -850,7 +850,7 @@

         ngx_http_file_cache_create_key(r);

-        if (r->cache->header_start + 256 >= u->conf->buffer_size) {
+        if (r->cache->header_start + 256 > u->conf->buffer_size) {
             ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
                           "%V_buffer_size %uz is not enough for cache key, "
                           "it should be increased to at least %uz",

I found previous related commit https://github.com/nginx/nginx/commit/c2f852c2603558b744928871a40f14fb950742ed

Change History (4)

comment:1 by Maxim Dounin, 5 years ago

Status: newaccepted

Thanks, this probably the simplest solution.

comment:2 by keyolk@…, 5 years ago

I sent above to mailing list. : )

comment:3 by Chanhun Jeong <chanhun.jeong@…>, 5 years ago

In 7456:608810849b6d/nginx:

Upstream: fixed logging of required buffer size (ticket #1722).

comment:4 by Maxim Dounin, 5 years ago

Resolution: fixed
Status: acceptedclosed

Committed, thanks.

Note: See TracTickets for help on using tickets.