Assertion failure in VCL_DelBackend()

Dridi Boukelmoune dridi at
Mon Nov 16 15:28:05 CET 2015

> FWIW, the VMODs I have in mind are all based around the idea that
> backends are owned by VCL, which defines their lifetime, unless you
> explicitly delete them before the VCL is discarded.
> (Now that you mention it, though, it would be quite useful for our use
> case to let them live on until the child process dies ...)

It has been discussed in the past, and while nothing prevents you from
creating a backend/director that outlives the VCL, you shouldn't. The
semantics changed in 4.1 along with VCL temperature and the idea that
a cold VCL should have the least possible footprint and not get in the
way of the active VCL.

This rule is enforced by native backends, but nothing prevents VMODs
not to comply. On the other hand, if you have two backends with the
same endpoint they will share the same connection pool, even if they
come from different VCLs.

More information about the varnish-dev mailing list