Mercurial > hg > nginx
comparison src/http/ngx_http_cache.h @ 7705:3781de64e747
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".
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Wed, 09 Sep 2020 19:26:27 +0300 |
parents | 847fd35f94de |
children |
comparison
equal
deleted
inserted
replaced
7704:847fd35f94de | 7705:3781de64e747 |
---|---|
115 unsigned exists:1; | 115 unsigned exists:1; |
116 unsigned temp_file:1; | 116 unsigned temp_file:1; |
117 unsigned purged:1; | 117 unsigned purged:1; |
118 unsigned reading:1; | 118 unsigned reading:1; |
119 unsigned secondary:1; | 119 unsigned secondary:1; |
120 unsigned update_variant:1; | |
120 unsigned background:1; | 121 unsigned background:1; |
121 | 122 |
122 unsigned stale_updating:1; | 123 unsigned stale_updating:1; |
123 unsigned stale_error:1; | 124 unsigned stale_error:1; |
124 }; | 125 }; |