cache file has too long header (bug) ?
Maxim Dounin
mdounin at mdounin.ru
Thu Sep 10 18:18:31 UTC 2015
Hello!
On Thu, Sep 10, 2015 at 01:30:46PM -0400, biazus wrote:
> Hey Guys,
>
> I've been using nginx 1.8.0 for a couple of months, and I noticed a critical
> message at error log informing that "cache file has too long header".
>
> 2015/09/10 17:11:03 [crit] 27245#0: *10686 cache file
> "/data/smallfiles/http/6/d8/f5df8d6eda60819319688d1bc0cb2d86" has too long
> header
>
> However, as you can see at the example bellow, there is nothing abnormal
> with the file:
>
> cat /data/smallfiles/http/6/d8/f5df8d6eda60819319688d1bc0cb2d86
[...]
The message is logged when nginx detects the problem, ignores the
cached file and starts loading another response from an upstream
server. So, unfortunately, as long as the message appeared, it's
probably too late to look into the file as it's likely already
reloaded from a backend.
The message itself is expected to appear if a response header
stored in the cache file is too big for configured
proxy_buffer_size. It may also appear due to a small race
condition in nginx cache logic if two different responses are
loaded into cache simultaneously, see here:
http://hg.nginx.org/nginx/rev/6f97afc238de
http://mailman.nginx.org/pipermail/nginx-devel/2011-September/001287.html
The message may also indicates that the cache file was corrupted
somehow.
If you see the message on a regular basis, we may want to
investigate further. If it's just a single case in couple of
months, it is probably due to the race condition in question and
likely can be ignored safely.
--
Maxim Dounin
http://nginx.org/
More information about the nginx
mailing list