Created attachment 212759 [details] update varnish6 to 6.4.0 Hi, please find the patch attached, it updates www/varnish6 to 6.4.0. Changelog for 6.4.0: The MAIN.sess_drop counter is gone. New configure switch: --with-unwind. Alpine linux appears to offer a libexecinfo implementation that crashes when called by Varnish, this offers the alternative of using libunwind instead. backend none was added for "no backend". std.rollback(bereq) is now safe to use, fixed bug 3009 Fixed varnishstat, varnishtop, varnishhist and varnishadm handling INT, TERM and HUP signals (bugs 3088 and 3229) The hash algorithm of the hash director was changed, so backend selection will change once only when upgrading. Users of the hash director are advised to consider using the shard director, which, amongst other advantages, offers more stable backend selection through consistent hashing. Log records can safely have empty fields or fields containing blanks if they are delimited by "double quotes". This was applied to SessError and Backend_health. It is now possible for VMOD authors to customize the connection pooling of a dynamic backend. A hash is now computed to determine uniqueness and a backend declaration can contribute arbitrary data to influence the pool. The option varnishtest -W is gone, the same can be achieved with varnishtest -p debug=+witness. A witness.sh script is available in the source tree to generate a graphviz dot file and detect potential lock cycles from the test logs. The Process timestamp for vcl_synth {} was wrongly issued before the VCL subroutine, now it gets emitted after VCL returns for consistency with vcl_deliver {}. Latencies for newly created worker threads to start work on congested systems have been improved. VRB_Iterate() signature has changed VRT_fail() now also works from director code Deliberately closing backend requests through return(abandon), return(fail) or return(error) is no longer accounted as a fetch failure Fixed a bug which could cause probes not to run The if-range header is now handled, allowing clients to conditionally request a range based on a date or an ETag. Introduced struct reqtop to hold information on the ESI top request and PRIV_TOP, fixed regression 3019 Allow numerical expressions in VCL to be negative / negated Add vi-stype CTRL-f / CTRL-b for page down/up to interactive varnishstat Fixed wrong handling of an out-of-workspae condition in the proxy vmod and in the workspace allocator, bug 3131 Raised the minimum for the vcl_cooldown parameter to 1s to fix bug 3135 Improved creation of additional threads when none are available Fixed a race between director creation and the backend.list CLI command - see bug 3094 Added error handling to avoid panics for workspace overflows during session attribute allocation - bug 3145 Overloaded the += operator to also append to headers Fixed set *.body commands. Fixed status for truncated CLI responses, bug 3038 New or improved Coccinelle semantic patches that may be useful for VMOD or utilities authors. Output VCC warnings also for VCLs loaded via the varnishd -f option, see bug 3160 Improved fetch error handling when stale objects are present in cache, see bug 3089 Added a Notice VSL tag (used for varnishlog logging) Always refer to sub as subroutine in the documentation and error messages to avoid confusion with other terms. New pid command in the Varnish CLI, to get the master and optionally cache process PIDs, for example from varnishadm. Fixed a race that could result in a partial response being served in its entirety when it is also compressed with gzip. Fixed session close reason reporting and accounting, added rx_close_idle counter for separate accounting when timeout_idle is reached. Also, send_timeout is no longer reported as "remote closed". Fixed handling of request bodies for backend retries Fix deadlocks when the maximum number of threads has been reached, in particular with http/2, see 2418 Add more vcl control over timeouts with sess.timeout_linger, sess.send_timeout and sess.idle_send_timeout Fix panics due to missing EINVAL handling on MacOS, see 1853 Added VSLs() and VSLbs() functions for logging STRANDS to VSL Fixed cases where a workspace overflow would not result in a VCL failure, see 3194 Added WS_VSB_new() / WS_VSB_finish() for VSBs on workspaces Imported vmod_cookie from varnish_modules The previously deprecated function cookie.filter_except() has been removed during import. It was replaced by cookie.keep() body_status and req_body_status have been collapsed into one type. In particular, the REQ_BODY_* enums now have been replaced with BS_*. Fixed an old regression of the Age: header for passes, see bug 3221 Added VRT_AllocStrandsWS() as a utility function to allocate STRANDS on a workspace. Reduced compile time of vcl_init{} / vcl_fini{} with gcc, added v_dont_optimize attribute macro Fixed a case where send_timeout would have no effect when streaming from a backend fetch, see bug 3189 NOTE Users upgrading varnish should re-check send_timeout with respect to long pass and streaming fetches and watch out for increased session close rates. Added VSB_tofile() to libvarnishapi, see 3238
Committed, thanks!
A commit references this bug: Author: feld Date: Fri Apr 10 20:09:32 UTC 2020 New revision: 531338 URL: https://svnweb.freebsd.org/changeset/ports/531338 Log: www/varnish6: Update to 6.4.0 Changelog for 6.4.0: The MAIN.sess_drop counter is gone. New configure switch: --with-unwind. Alpine linux appears to offer a libexecinfo implementation that crashes when called by Varnish, this offers the alternative of using libunwind instead. backend none was added for "no backend". std.rollback(bereq) is now safe to use, fixed bug 3009 Fixed varnishstat, varnishtop, varnishhist and varnishadm handling INT, TERM and HUP signals (bugs 3088 and 3229) The hash algorithm of the hash director was changed, so backend selection will change once only when upgrading. Users of the hash director are advised to consider using the shard director, which, amongst other advantages, offers more stable backend selection through consistent hashing. Log records can safely have empty fields or fields containing blanks if they are delimited by "double quotes". This was applied to SessError and Backend_health. It is now possible for VMOD authors to customize the connection pooling of a dynamic backend. A hash is now computed to determine uniqueness and a backend declaration can contribute arbitrary data to influence the pool. The option varnishtest -W is gone, the same can be achieved with varnishtest -p debug=+witness. A witness.sh script is available in the source tree to generate a graphviz dot file and detect potential lock cycles from the test logs. The Process timestamp for vcl_synth {} was wrongly issued before the VCL subroutine, now it gets emitted after VCL returns for consistency with vcl_deliver {}. Latencies for newly created worker threads to start work on congested systems have been improved. VRB_Iterate() signature has changed VRT_fail() now also works from director code Deliberately closing backend requests through return(abandon), return(fail) or return(error) is no longer accounted as a fetch failure Fixed a bug which could cause probes not to run The if-range header is now handled, allowing clients to conditionally request a range based on a date or an ETag. Introduced struct reqtop to hold information on the ESI top request and PRIV_TOP, fixed regression 3019 Allow numerical expressions in VCL to be negative / negated Add vi-stype CTRL-f / CTRL-b for page down/up to interactive varnishstat Fixed wrong handling of an out-of-workspae condition in the proxy vmod and in the workspace allocator, bug 3131 Raised the minimum for the vcl_cooldown parameter to 1s to fix bug 3135 Improved creation of additional threads when none are available Fixed a race between director creation and the backend.list CLI command - see bug 3094 Added error handling to avoid panics for workspace overflows during session attribute allocation - bug 3145 Overloaded the += operator to also append to headers Fixed set *.body commands. Fixed status for truncated CLI responses, bug 3038 New or improved Coccinelle semantic patches that may be useful for VMOD or utilities authors. Output VCC warnings also for VCLs loaded via the varnishd -f option, see bug 3160 Improved fetch error handling when stale objects are present in cache, see bug 3089 Added a Notice VSL tag (used for varnishlog logging) Always refer to sub as subroutine in the documentation and error messages to avoid confusion with other terms. New pid command in the Varnish CLI, to get the master and optionally cache process PIDs, for example from varnishadm. Fixed a race that could result in a partial response being served in its entirety when it is also compressed with gzip. Fixed session close reason reporting and accounting, added rx_close_idle counter for separate accounting when timeout_idle is reached. Also, send_timeout is no longer reported as "remote closed". Fixed handling of request bodies for backend retries Fix deadlocks when the maximum number of threads has been reached, in particular with http/2, see 2418 Add more vcl control over timeouts with sess.timeout_linger, sess.send_timeout and sess.idle_send_timeout Fix panics due to missing EINVAL handling on MacOS, see 1853 Added VSLs() and VSLbs() functions for logging STRANDS to VSL Fixed cases where a workspace overflow would not result in a VCL failure, see 3194 Added WS_VSB_new() / WS_VSB_finish() for VSBs on workspaces Imported vmod_cookie from varnish_modules The previously deprecated function cookie.filter_except() has been removed during import. It was replaced by cookie.keep() body_status and req_body_status have been collapsed into one type. In particular, the REQ_BODY_* enums now have been replaced with BS_*. Fixed an old regression of the Age: header for passes, see bug 3221 Added VRT_AllocStrandsWS() as a utility function to allocate STRANDS on a workspace. Reduced compile time of vcl_init{} / vcl_fini{} with gcc, added v_dont_optimize attribute macro Fixed a case where send_timeout would have no effect when streaming from a backend fetch, see bug 3189 NOTE Users upgrading varnish should re-check send_timeout with respect to long pass and streaming fetches and watch out for increased session close rates. Added VSB_tofile() to libvarnishapi, see 3238 PR: 245104 Changes: head/www/varnish6/Makefile head/www/varnish6/distinfo head/www/varnish6/pkg-plist