mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-06 23:27:04 +02:00
MINOR: cache: disable cache if shctx_row_data_append fail
Disable the cache if the append of data failed, it should never happen because the allocated row size is at least equal to the size of the object to allocate.
This commit is contained in:
parent
10935bc547
commit
e1533f5790
@ -171,6 +171,7 @@ cache_store_http_forward_data(struct stream *s, struct filter *filter,
|
||||
if (filter->ctx && st->first_block) {
|
||||
/* disable buffering if too much data (never greater than a buffer size */
|
||||
if (len - st->hdrs_len > global.tune.bufsize - global.tune.maxrewrite - st->first_block->len) {
|
||||
disable_cache:
|
||||
filter->ctx = NULL; /* disable cache */
|
||||
shctx_lock(shctx);
|
||||
shctx_row_dec_hot(shctx, st->first_block);
|
||||
@ -185,6 +186,8 @@ cache_store_http_forward_data(struct stream *s, struct filter *filter,
|
||||
MIN(bi_contig_data(msg->chn->buf), len - st->hdrs_len));
|
||||
/* Rewind the buffer to forward all data */
|
||||
b_rew(msg->chn->buf, st->hdrs_len);
|
||||
if (ret)
|
||||
goto disable_cache;
|
||||
}
|
||||
}
|
||||
ret = len;
|
||||
|
Loading…
Reference in New Issue
Block a user