HomeFreeBSD

www/varnish4: Fix race condition on start

Description

www/varnish4: Fix race condition on start

varnishlog and varnishncsa had a race condition with varnishd on
startup as they will notice varnishd's leftover _.vsm file and try to
connect to varnishd but occasionally fail due to varnishd not being
fully operational yet. By adding "-t off" flag as default to varnishncsa
and varnishlog they will wait indefinitely for varnishd to start up
instead of just exiting.

Other bugs fixed:

  • varnishncsa_logformat in rc.conf mostly works

Unfortunately due to shell expansion we still cannot pass
quotes (") so if you need those in your log format you will have to
manage varnishncsa startup yourself. I apologize, but there's not much
we can do at the moment. I'm working with upstream to allow loading
configuration from a file. Note that Debian has complained too...

  • Default permissions for log and pidfiles have been corrected

They are now correctly set to 664 for pidfiles and 644 for log files

  • Description of default flags for varnishncsa and varnishlog have been

adjusted to reflect reality

New features:

  • We now support "checkconfig" and "reload" options like on RedHat

distributions

You can do "service varnishd checkconfig" to validate your vcl is
functional. Doing a "service varnishd reload" also works without
interrupting service and creates a new vcl reflecting the date+timestamp.
Varnishd now does a checkconfig before starting and will also prevent
you from breaking a running instance by doing a "restart" with an
invalid vcl.

Thanks to many for the reports and testing.

Differential Revision: https://reviews.freebsd.org/D4016

Details

Provenance
feldAuthored on
Differential Revision
D4016: www/varnish4: fix race condition on start, new features
Parents
rP400700: devel/gsoap: Update version 2.8.24=>2.8.24r
Branches
Unknown
Tags
Unknown