[varnishcache/varnish-cache] 57a5b9: Introduce a new "busy" VCL temperature
Dridi Boukelmoune
dridi.boukelmoune at gmail.com
Sat Dec 5 17:15:13 CET 2015
Branch: refs/heads/master
Home: https://github.com/varnishcache/varnish-cache
Commit: 57a5b9c78f669f43819df6e9fa5438e56afb0fc2
https://github.com/varnishcache/varnish-cache/commit/57a5b9c78f669f43819df6e9fa5438e56afb0fc2
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date: 2015-12-05 (Sat, 05 Dec 2015)
Changed paths:
M bin/varnishd/cache/cache_vcl.c
Log Message:
-----------
Introduce a new "busy" VCL temperature
Now that VCLs can be referenced, there are two different situations
stalling the cooldown. The "cooling" one is kept for VCLs that have
received a COLD event, and the "busy" one is introduced to wait for
ongoing transactions.
Basically, if there are transactions, the VCL is still active even
though it's not *the* active VCL and should therefore be considered
warm. This guarantees that WARM and COLD events are balanced, and
also that a "busy" VCL doesn't need to warm up if it is set to warm
again.
The new VCL temperature engine looks like this:
.----------W>---------------.
| .--W>---. v
init ---> cold --| |-- warm --.
^ ^ '---<C--' | |
| | | |
| '--- cooling <C--' |
| ^ |
| C |
| | .---<---. |
'--<C-- busy --| |--'
'--->---'
The transitions marked with a 'W' or a 'C' are the one dispatching
WARM and COLD events respectively.
Since the "busy" state is considered warm, VMODs should operate as
such and backend creation remains possible.
Commit: 28eec51b3d1c4d3a6d4da947bb7fea73028af19c
https://github.com/varnishcache/varnish-cache/commit/28eec51b3d1c4d3a6d4da947bb7fea73028af19c
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date: 2015-12-05 (Sat, 05 Dec 2015)
Changed paths:
M lib/libvmod_debug/vmod_debug.c
Log Message:
-----------
Make event handling more readable in vmod-debug
Commit: 8bf2b0aee5da016125b5ddd007b9b0d040f1a535
https://github.com/varnishcache/varnish-cache/commit/8bf2b0aee5da016125b5ddd007b9b0d040f1a535
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date: 2015-12-05 (Sat, 05 Dec 2015)
Changed paths:
M lib/libvmod_debug/vmod.vcc
M lib/libvmod_debug/vmod_debug.c
Log Message:
-----------
Hold a VCL reference in the debug vmod
By default the reference is released as soon as the VCL goes cold, which
doesn't harm the existing tests yet allows to cover the new VRT_ref_vcl
and VRT_rel_vcl functions.
It is possible to ask the vmod to release the reference after a delay.
Commit: 502a871051ccf7a9037f7c5aad3977618e2355c6
https://github.com/varnishcache/varnish-cache/commit/502a871051ccf7a9037f7c5aad3977618e2355c6
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date: 2015-12-05 (Sat, 05 Dec 2015)
Changed paths:
A bin/varnishtest/tests/v00045.vtc
Log Message:
-----------
Coverage for the cooling state
Commit: 89ce06aa305f577fd140dd35b6adf5d20a7444f0
https://github.com/varnishcache/varnish-cache/commit/89ce06aa305f577fd140dd35b6adf5d20a7444f0
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date: 2015-12-05 (Sat, 05 Dec 2015)
Changed paths:
M bin/varnishtest/tests/v00045.vtc
Log Message:
-----------
Wording
Compare: https://github.com/varnishcache/varnish-cache/compare/697fd4448b36...89ce06aa305f
More information about the varnish-commit
mailing list