From 79600062a8e97e095a96b6c1b7d8bc2b8e17dcce Mon Sep 17 00:00:00 2001 From: Shailesh Vashishth Date: Sat, 23 Nov 2024 13:41:03 +0000 Subject: [PATCH] Simplified quick_abort_pct code and improved its docs (#1921) Instead of ignoring quick_abort_pct settings that would, together with other conditions, abort a pending download of a 99-byte or smaller response, Squid now honors quick_abort_pct for all response sizes. Most Squids are not going to be affected by this change because default quick_abort_min settings (16KB) prevent aborts of 99-byte responses even before quick_abort_pct is checked. Due to conversion from integer to floating point math, this change may affect responses larger than 99 bytes as well, but these effects ought to be limited to cases where the decision is based on a tiny difference (e.g., receiving 1% more bytes would have triggered full download). In most such cases, the decision could probably go either way due to response header size fluctuations anyway. Also updated quick_abort_pct documentation, primarily to clarify a misleading statement: Squid did not and does not treat 16KB or smaller responses specially in this context. The original statement was probably based on quick_abort_min _default_ setting of 16KB, but statement phrasing and placement hid that connection. --- CONTRIBUTORS | 1 + doc/release-notes/release-7.sgml.in | 14 ++++++++++++++ src/cf.data.pre | 22 ++++++++++++---------- src/store_client.cc | 8 +------- 4 files changed, 28 insertions(+), 17 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 72f038730a6..d69ba5cb61c 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -470,6 +470,7 @@ Thank you! Sergey Merzlikin Sergio Durigan Junior Sergio Rabellino + Shailesh Vashishth Shigechika Aikawa Shmaya Frankel Silamael diff --git a/doc/release-notes/release-7.sgml.in b/doc/release-notes/release-7.sgml.in index f33c9992d67..47039e78271 100644 --- a/doc/release-notes/release-7.sgml.in +++ b/doc/release-notes/release-7.sgml.in @@ -194,6 +194,20 @@ This section gives an account of those changes in three categories: external_acl_type

Removed %IDENT format code with Ident protocol support. + quick_abort_pct +

Instead of ignoring quick_abort_pct settings that would, + together with other conditions, abort a pending download of a 99-byte or + smaller response, Squid now honors quick_abort_pct for all + response sizes. Most Squids are not going to be affected by this change + because default quick_abort_min settings (16KB) prevent aborts of 99-byte + responses even before quick_abort_pct is checked. +

Due to conversion from integer to floating point math, this change may + affect responses larger than 99 bytes as well, but these effects ought to + be limited to cases where the decision is based on a tiny difference (e.g., + receiving 1% more bytes would have triggered full download). In most such + cases, the decision could probably go either way due to response header + size fluctuations anyway. + Removed directives