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 };