- 26 Oct, 2020 1 commit
-
-
Guillaume Quintard authored
-
- 24 Oct, 2020 1 commit
-
-
Guillaume Quintard authored
-
- 23 Oct, 2020 1 commit
-
-
Guillaume Quintard authored
-
- 07 Oct, 2020 2 commits
-
-
Reza Naghibi authored
-
BARON David authored
- Complete the missing HTTP response codes / messages from : https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml patch from master@d686166ad469cad4043ed24328f4377e0d5f71a7
-
- 14 Sep, 2020 1 commit
-
-
Reza Naghibi authored
-
- 26 Aug, 2020 1 commit
-
-
Reza Naghibi authored
-
- 20 Aug, 2020 2 commits
-
-
Reza Naghibi authored
-
Reza Naghibi authored
-
- 19 Aug, 2020 31 commits
-
-
Reza Naghibi authored
Switch the ctx and workspace to the req when resolving in pipe mode.
-
Reza Naghibi authored
Fixes #3329 Fixes #3385
-
Reza Naghibi authored
-
Nils Goroll authored
in VRT_priv_task() we asserted that only one of ctx->req and ctx->bo is set when not in vcl_pipe {}, but we also need to extend that assertion to when ctx->method == 0 after vcl_pipe as finished because VRT_priv_task() could be called from director resolution. Being at it, I also noticed that our behavior in vcl_pipe {} is inconsistent as, from the shard director perspective, it is a backend method. So now, vcl_pipe {} is handled like vcl_backend_* {}. We still need to make up our mind about #3329 / #3330 and depending on the outcome we might need to touch some places again which were changed in this commit. Fixes #3361 Conflicts: doc/changes.rst lib/libvmod_directors/vmod.vcc lib/libvmod_directors/vmod_shard.c
-
Nils Goroll authored
Conflicts: lib/libvmod_directors/vmod.vcc
-
Nils Goroll authored
Conflicts: lib/libvmod_directors/vmod_shard.c
-
Nils Goroll authored
Conflicts: lib/libvmod_directors/shard_dir.c lib/libvmod_directors/vmod_shard.c
-
Nils Goroll authored
-
Nils Goroll authored
-
Nils Goroll authored
from flexelint review Conflicts: lib/libvmod_directors/shard_dir.h
-
Poul-Henning Kamp authored
-
Poul-Henning Kamp authored
-
Nils Goroll authored
We implement weights by scaling the number of replicas of each backend. The replicas parameter of .reconfigure() remains a minimum. For existing vtcs, the Debug hashcircle output has been compared before/after this change to ensure that behaviour is exactly equivalent. For for wighted backends, it has been checked that the number of instances per host on the hashcircle matches the expectation. Also refactor and clean up some of the code: - consistently make the number of ring points a uint32_t - some constification Ref #3276 Conflicts: lib/libvmod_directors/shard_cfg.c lib/libvmod_directors/shard_dir.h lib/libvmod_directors/vmod.vcc
-
Poul-Henning Kamp authored
Conflicts: lib/libvmod_directors/shard_dir.h lib/libvmod_directors/vmod_shard.c
-
Federico G. Schwindt authored
-
Poul-Henning Kamp authored
-
Reza Naghibi authored
dd28fc73Co-authored-by: Dridi Boukelmoune <dridi.boukelmoune@gmail.com>
-
Nils Goroll authored
-
Dridi Boukelmoune authored
-
Poul-Henning Kamp authored
-
Nils Goroll authored
Thank you, @Dridi - yes, allocations outside the lock were motivated by minimizing the critical section, but n_backend could actually change, so this was wrong. As we use an RW lock, doing more work under it should only have marginal impact. - n_backend == 0 is probably best handled as a special case
-
Dridi Boukelmoune authored
With that, (almost) only libvgz carries goto statements from zlib. This isn't changing any of the previous semantics, in particular the AN(be) assertion from the "ok:" jump is honored by all code paths formerly leading to it. Previously, the bitmap was allocated on the stack prior to the magic check of shardd, which is now fixed at the expense of a potential code style violation. But more importantly, we currently read the number of backends prior to acquiring the read lock, but there is no evidence that this was done on purpose and not overlooked, besides moving a possibly expensive state initialization outside of the critical section. If that was on purpose, please document it.
-
Reza Naghibi authored
ebbbad96Co-authored-by: Poul-Henning Kamp <phk@FreeBSD.org>
-
Reza Naghibi authored
-
Reza Naghibi authored
This reverts commit 0e32f166. Conflicts: bin/varnishd/http2/cache_http2_deliver.c
-
Reza Naghibi authored
This came from the H2 backport c3902d57 Fixes #3382
-
Martin Blix Grydeland authored
-
Martin Blix Grydeland authored
For VCL_TIME values that would convert to a year element that can not fit in an int, gmtime_r would fail, and VTIM_format() would use random stack values when picking weekday and month strings. This patch changes VTIM_format to return "" when gmtime_r reports failures. This way the API is not changed. Callers can test for empty string to catch the failure if needed. VRT_TIME_string is patched to catch the VTIM_format error, and return NULL on failure. Fixes: #3308
-
Nils Goroll authored
since d4b6228e the busyobj might also gain one, so depending on who deref's first, there may be one or zero references left.
-
Martin Blix Grydeland authored
With this patch fetch threads will for completely cached request bodies keep a reference to it for the entire duration of the fetch. This extends the retry window of backend requests with request body beyond the BOS_REQ_DONE point. Patch by: Poul-Henning Kamp
-
Martin Blix Grydeland authored
Currently we allow fetch retries with body even after we have released the request that initiated the fetch, and the request body with it. The attached test case demonstrates this, where s2 on the retry attempt gets stuck waiting for 3 bytes of body data that is never sent. Fix this by keeping track of what the initial request body status was, and failing the retry attempt if the request was already released (BOS_REQ_DONE) and the request body was not cached. Conflicts: bin/varnishd/cache/cache.h
-