- 12 Jun, 2020 6 commits
-
-
Martin Blix Grydeland authored
Once HSH_Unbusy() has been called there is a possibility for EXP_Remove() to be called before the fetch thread has had a chance to call EXP_Insert(). By adding a OC_EF_NEW flag on the objects during HSH_Unbusy(), that is removed again during EXP_Insert(), we can keep track and clean up once EXP_Insert() is called by the inserting thread if EXP_Remove() was called in the mean time. This patch also removes the AZ(OC_F_DYING) in EXP_Insert(), as that is no longer a requirement. Fixes: #2999
-
Martin Blix Grydeland authored
This makes the order of events the same as on real cache insertions.
-
Martin Blix Grydeland authored
The OC_EF_REFD flag indicates whether expiry has a ref on the OC. Previously, the flag was only gained during the call to EXP_Insert. With this patch, and the helper function EXP_RefNewObjcore(), the flag is gained while holding the objhead mutex during HSH_Unbusy(). This enables the expiry functions to test on missing OC_EF_REFD and quickly return without having to take the main expiry mutex.
-
Martin Blix Grydeland authored
When posting to the expiry thread, we wrongly counted exp_mailed also if the OC in question was already on the mail queue. This could cause a discrepency between the exp_mailed and exp_received counters.
-
Martin Blix Grydeland authored
This enables doing extra handling while holding the mutex specific to EXP_Insert/EXP_Remove before/after calling exp_mail_it.
-
Dridi Boukelmoune authored
See 8e45ba9f
-
- 11 Jun, 2020 4 commits
-
-
Dridi Boukelmoune authored
This reverts commit cc42bd31. For some reason Travis CI jobs use autogen.sh and don't build with all the bells and whistles we expect developers to work with. Despite the explicit mention in autogen.des: # Use this when doing code development Some of our continuous integration doesn't emulate this properly. At least on the VTEST and CircleCI sides we do things as expected. I will reintroduce this change later when Travis CI is ready to take it.
-
Dridi Boukelmoune authored
We shouldn't need to care about all the details when autoreconf(1) can do that for us. The autoworld has changed over the last decade and this only affects Varnish developers since we ship release archives with a turnkey configure script. So let's see how much wreckage this change will cause. The script remains until its refcount drops to zero. In order to get early feedback for MacOS the relevant Travis CI job is already updated.
-
Dridi Boukelmoune authored
When we release a dist archive, it comes with the documentation but since some of it is generated by programs we end up it makes no real difference, and actually it makes things worse: rebuilding from the dist archive ends up with a rebuild of the documentation because some sources ended up being rebuilt. In other words, the documentation we ship is dead weight in the dist archive and doesn't reduce the number of build dependencies downstream. From now on, rst2man remains mandatory to build our manual pages but can safely be omitted by packaging scripts.
-
Nils Goroll authored
taken from varnishtop. NOOP because #if 0'd
-
- 10 Jun, 2020 16 commits
-
-
Dridi Boukelmoune authored
This is understandably no longer present on the buster base docker image, but I'm not adding this to installation instructions in the documentation because I hope to remove that dependency before the next release.
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
At this point I'm wondering whether we should talk about hacks when we really add missing dependencies. In some cases it boils down to RST being generated by programs we need to compile, what I call "regular" targets here.
-
Dridi Boukelmoune authored
One exception could be the changes builder, but if we ever reach the point where we can automate the changelog initial creation we can bring it back.
-
Nils Goroll authored
The previous commit added symlinks for source files. Fixes #3309
-
Nils Goroll authored
... if they differ. Ref #3309
-
Nils Goroll authored
Partially reverts commit 883fddfe. Ref #3309
-
Nils Goroll authored
-
Nils Goroll authored
This was brought up by Dridi in an email response to b90b60d0: Initially, I also thought that we should VRT_fail() for an invalid parameter, but on second thought I realized that, as the shard director supports request-time reconfiguration, graceful error handling should be possible, so VRT_fail() is too hard. I think that even returning false for .add_backend() is too harsh, as an invalid weight is probably not too much of an issue to abort the reconfiguration in the case of caller error handling. That said, this might all be over the top. But I really do not want to run into the (still unfixed) case I saw recently trying to base64 decode an invalid input, which is not possible to handle gracefully.
-
Nils Goroll authored
-
Nils Goroll authored
-
Nils Goroll authored
... to be more in line with other bundled directors
-
Nils Goroll authored
-
Nils Goroll authored
from flexelint review
-
Nils Goroll authored
-
Poul-Henning Kamp authored
-
- 09 Jun, 2020 12 commits
-
-
Poul-Henning Kamp authored
-
Poul-Henning Kamp authored
-
Poul-Henning Kamp authored
-
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
-
Nils Goroll authored
The first hashcircle point of a backend was saves as canon_point, but never used for anything but JSON backend.list output. I assume no-one needs it. Famous Last Words (tm).
-
Nils Goroll authored
-
Poul-Henning Kamp authored
Some operating systems still report core-dumps in process exit-status even though the core-dump was eliminated with setrlimit(2).
-
Poul-Henning Kamp authored
feature bits. Merge it into "short description" (which can be longer now), reorder features and improve messages.
-
Poul-Henning Kamp authored
VTC's change because the exit-instead-of-abort-hack goes away.
-
Poul-Henning Kamp authored
Without syncvsl, client N+1 may emitting VSL before client N has flushed its VSL. (In general we should probably always use syncvsl with logexpect)
-
- 05 Jun, 2020 2 commits
-
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
-