[PATCH] skip apply "ngx_http_upstream_process_accel_expires" when a request responeded by cache
Maxim Dounin
mdounin at mdounin.ru
Sun Jun 21 21:11:15 UTC 2020
Hello!
On Fri, Jun 19, 2020 at 09:41:37AM +0900, TAKADA Sokichi wrote:
> # HG changeset patch
> # User TAKADA Sokichi <takada at jocdn.co.jp>
> # Date 1592383243 -32400
> # Wed Jun 17 17:40:43 2020 +0900
> # Node ID d5bbe3ad1f1491125485786aacc5d219c81801d1
> # Parent 8cf31489b479b689b7ff4a9601ce24c914d0394c
> skip apply "ngx_http_upstream_process_accel_expires" when a request responeded by cache
>
> "ngx_http_upstream_process_accel_expires" is calculate and set valid_date value when a request respond by a cache, even though it will never use in the response.
> This patch to skip unnecessary process.
>
> On the other hands, this has good side effect to can get TRUE valid_date value of the cache file in "header filter" and "log" hook handler.
> i.e. I would like to get the TRUE valid_date of cache in header_filter_by_lua or log_by_lua handlers.
>
> diff -r 8cf31489b479 -r d5bbe3ad1f14 src/http/ngx_http_upstream.c
> --- a/src/http/ngx_http_upstream.c Mon Jun 15 17:35:26 2020 -0400
> +++ b/src/http/ngx_http_upstream.c Wed Jun 17 17:40:43 2020 +0900
> @@ -4776,6 +4776,10 @@
> return NGX_OK;
> }
>
> + if (r->cached == 1) {
> + return NGX_OK;
> + }
> +
> len = h->value.len;
> p = h->value.data;
Thanks for the patch.
The cache validity time as obtained from cached responses is used
while processing 304 responses during cache revalidation, so the
suggested change looks wrong to me.
--
Maxim Dounin
http://mdounin.ru/
More information about the nginx-devel
mailing list