-------- I have finally given up on adding "interrim" refcounting of VCL backends.
The .resolve() trick you had implemented to narrow down the race condition did only that, it didn't completely close it, and I could provoke it in heavy-load synthetic tests. Instead I have simply given dynamic backends a 60 second cool-off before we nuke them. This is only a stop-gap measure, and in Varnish 5 we will need to bite the bullet and do proper refcounting on all non-atomic VCL types. But for now, dynamic backends should work for 4.1, but VMODS should take care to not needlessly replace dynamic backends with identical new ones (as vmod_debug does intentionally). Thanks for your heroic effort Dridi, Good work! -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 [email protected] | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. _______________________________________________ varnish-dev mailing list [email protected] https://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev
