diff options
| author | Sergey Kandaurov <pluknet@nginx.com> | 2020-09-09 19:26:27 +0300 |
|---|---|---|
| committer | Sergey Kandaurov <pluknet@nginx.com> | 2020-09-09 19:26:27 +0300 |
| commit | dc1b14126e0a7a45018d95b149ebdb29985f18f1 (patch) | |
| tree | 5869427b638702bc2b96eb23e647719d699ef347 /src/http/ngx_http_cache.h | |
| parent | ed0b19cdd4a9118cf8795ba2cf0a56684624bb41 (diff) | |
| download | nginx-dc1b14126e0a7a45018d95b149ebdb29985f18f1.tar.gz nginx-dc1b14126e0a7a45018d95b149ebdb29985f18f1.tar.bz2 | |
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".
Diffstat (limited to '')
| -rw-r--r-- | src/http/ngx_http_cache.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/http/ngx_http_cache.h b/src/http/ngx_http_cache.h index d010a4ef0..bb936c5fe 100644 --- a/src/http/ngx_http_cache.h +++ b/src/http/ngx_http_cache.h @@ -117,6 +117,7 @@ struct ngx_http_cache_s { unsigned purged:1; unsigned reading:1; unsigned secondary:1; + unsigned update_variant:1; unsigned background:1; unsigned stale_updating:1; |
