Upstream: preset some cache configuration when bypassing.
No functional changes.
diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c
index b2066a3..4e71af0 100644
--- a/src/http/ngx_http_upstream.c
+++ b/src/http/ngx_http_upstream.c
@@ -763,6 +763,12 @@
u->cacheable = 1;
+ c = r->cache;
+
+ c->body_start = u->conf->buffer_size;
+ c->min_uses = u->conf->cache_min_uses;
+ c->file_cache = u->conf->cache_zone->data;
+
switch (ngx_http_test_predicates(r, u->conf->cache_bypass)) {
case NGX_ERROR:
@@ -776,12 +782,6 @@
break;
}
- c = r->cache;
-
- c->min_uses = u->conf->cache_min_uses;
- c->body_start = u->conf->buffer_size;
- c->file_cache = u->conf->cache_zone->data;
-
c->lock = u->conf->cache_lock;
c->lock_timeout = u->conf->cache_lock_timeout;
c->lock_age = u->conf->cache_lock_age;
@@ -2536,9 +2536,7 @@
if (u->cache_status == NGX_HTTP_CACHE_BYPASS) {
- r->cache->min_uses = u->conf->cache_min_uses;
- r->cache->body_start = u->conf->buffer_size;
- r->cache->file_cache = u->conf->cache_zone->data;
+ /* create cache if previously bypassed */
if (ngx_http_file_cache_create(r) != NGX_OK) {
ngx_http_upstream_finalize_request(r, u, NGX_ERROR);