Dynamic backends revisited, again

Dridi Boukelmoune dridi at varni.sh
Sun Aug 23 12:41:01 CEST 2015

On Fri, Aug 21, 2015 at 7:12 PM, Dridi Boukelmoune <dridi at varni.sh> wrote:
> So basically I need to move the last WARM/USE check inside the
> update_backends loop, which is OK for a DNS director, once the VCL
> becomes WARM again it does a lookup straight away. I'm not sure that's
> enough to prevent the race, I need to take a closer look at the locks
> involved in both process (adding backends and cooling the VCL).

After a quick glance today, I'm pretty sure there's an inherent race
when you call VRT_new_backend from outside the CLI thread. It's not
possible to lock the VCL since the structure is opaque and it would
regardless conflict with the underlying call to VCL_AddBackend --
locking the VCL too.

More information about the varnish-dev mailing list