]> git.kaiwu.me - nginx.git/commit
Cache: keep c->body_start when Vary changes (ticket #2029).
authorSergey Kandaurov <pluknet@nginx.com>
Wed, 9 Sep 2020 16:26:27 +0000 (19:26 +0300)
committerSergey Kandaurov <pluknet@nginx.com>
Wed, 9 Sep 2020 16:26:27 +0000 (19:26 +0300)
commitdc1b14126e0a7a45018d95b149ebdb29985f18f1
tree5869427b638702bc2b96eb23e647719d699ef347
parented0b19cdd4a9118cf8795ba2cf0a56684624bb41
Cache: keep c->body_start when Vary changes (ticket #2029).

If the variant hash doesn't match one we used as a secondary cache key,
we switch back to the original key.  In this case, c->body_start was kept
updated from an existing cache node overwriting the new response value.
After file cache update, it led to discrepancy between a cache node and
cache file seen as critical errors "file cache .. has too long header".
src/http/ngx_http_cache.h
src/http/ngx_http_file_cache.c