BUG/MINOR: cache: Disable cache if applet creation fails
When we want to serve a resource from the cache, if the applet creation
fails, the "cache-use" action must not yield. Otherwise, the stream will
hang. Instead, we now disable the cache. Thus the request may be served by
the server.
This patch must be backported as far as 1.8.
diff --git a/src/cache.c b/src/cache.c
index 94f4e7c..9375faf 100644
--- a/src/cache.c
+++ b/src/cache.c
@@ -1830,10 +1830,11 @@
_HA_ATOMIC_INC(&px->be_counters.p.http.cache_hits);
return ACT_RET_CONT;
} else {
+ s->target = NULL;
shctx_lock(shctx_ptr(cache));
shctx_row_dec_hot(shctx_ptr(cache), entry_block);
shctx_unlock(shctx_ptr(cache));
- return ACT_RET_YIELD;
+ return ACT_RET_CONT;
}
}
shctx_unlock(shctx_ptr(cache));