Re: Stale objects not delivered in case of offline parent
np. Thanks to Serris for fixing it. On Thu, Jun 30, 2022 at 5:43 PM Matthias Kneer wrote: > Hi Brian, > > nice catch. I just built the 9.2 and tested it. It works like a charm. > Thanks a lot. > > Best regards, > Matthias > > On Thursday, June 30, 2022 22:35 CEST, Brian Neradt < > brian.ner...@gmail.com> wrote: > > > Hi Matthias, > > > > This looks like the bug which was fixed in the 9.2 release via the > > following PR: > > https://github.com/apache/trafficserver/pull/8473 > > > > Can you try upgrading and see whether that addresses your issue? > > > > Brian > > > > On Thu, Jun 30, 2022 at 10:18 AM Matthias Kneer > wrote: > > > > > Hi list, > > > > > > I'm running ATS 9.1.2 as a cache in front of a webserver, no forward > > > proxy involved. > > > > > > While the origin is online, caching works fine. The content is not > beeing > > > re-requested while TTL is "fresh". Once the parent goes offline ATS is > not > > > willing to deliver the stale object, even though it's still available > and > > > the max_age has not reached the max_stale_age. The expected behaviour > would > > > be, that the content is delivered from cache until the max stale age is > > > reached. > > > > > > This is the debug log of an requests while the parent was offline: > > > https://logpaste.com/hpklDjZH > > > > > > These are my config values that differ from default > > > > > > proxy.config.body_factory.template_sets_dir has changed > > > Current Value: > /opt/trafficserver/etc/trafficserver/body_factory > > > Default Value: etc/trafficserver/body_factory > > > proxy.config.diags.debug.enabled has changed > > > Current Value: 1 > > > Default Value: 0 > > > proxy.config.diags.logfile.rolling_enabled has changed > > > Current Value: 2 > > > Default Value: 0 > > > proxy.config.diags.logfile.rolling_size_mb has changed > > > Current Value: 256 > > > Default Value: 10 > > > proxy.config.dns.round_robin_nameservers has changed > > > Current Value: 0 > > > Default Value: 1 > > > proxy.config.exec_thread.autoconfig has changed > > > Current Value: 0 > > > Default Value: 1 > > > proxy.config.http.cache.max_open_read_retries has changed > > > Current Value: 1 > > > Default Value: -1 > > > proxy.config.http.cache.open_write_fail_action has changed > > > Current Value: 5 > > > Default Value: 0 > > > proxy.config.http.cache.required_headers has changed > > > Current Value: 0 > > > Default Value: 2 > > > proxy.config.http.connect_attempts_timeout has changed > > > Current Value: 10 > > > Default Value: 30 > > > proxy.config.http.insert_response_via_str has changed > > > Current Value: 3 > > > Default Value: 0 > > > proxy.config.http.parent_proxy.retry_time has changed > > > Current Value: 5 > > > Default Value: 300 > > > proxy.config.http.proxy_protocol_allowlist has changed > > > Current Value: 127.0.0.1 > > > Default Value: none > > > proxy.config.http.server_ports has changed > > > Current Value: 8080:proto=http 8080:ipv6 > 8443:proto=http2;http:ssl > > > 8443:ipv6:proto=http2;http:ssl > > > Default Value: 8080 8080:ipv6 > > > proxy.config.http.slow.log.threshold has changed > > > Current Value: 1 > > > Default Value: 0 > > > proxy.config.http.transaction_active_timeout_in has changed > > > Current Value: 0 > > > Default Value: 900 > > > proxy.config.log.logfile_dir has changed > > > Current Value: /var/log/trafficserver > > > Default Value: var/logs > > > proxy.config.log.max_space_mb_for_logs has changed > > > Current Value: 8192 > > > Default Value: 25000 > > > proxy.config.log.max_space_mb_headroom has changed > > > Current Value: 50 > > > Default Value: 1000 > > > proxy.config.log.rolling_enabled has changed > > > Current Value: 2 > > > Default Value: 1 > > > proxy.config.log.rolling_max_count has changed > > > Current Value: 10 > > > Default Value: 0 > > > proxy.config.log.rolling_min_count has changed > > > Current Value: 1 > > > Default Value: 0 > > > proxy.config.log.rolling_size_mb has changed > > > Current Value: 512 > > > Default Value: 10 > > > proxy.config.ssl.CA.cert.path has changed > > > Current Value: /opt/trafficserver/etc/trafficserver/ssl > > > Default Value: etc/trafficserver > > > proxy.config.ssl.client.CA.cert.filename has changed > > > Current Value: ca-bundle.crt > > > Default Value: NULL > > > proxy.config.ssl.client.CA.cert.path has changed > > > Current Value: /etc/pki/tls/certs > > > Default Value: etc/trafficserver > > > proxy.config.ssl.client.cert.path has changed > > > Current Value: /opt/trafficserver/etc/trafficserver/ssl > > > Default Value: etc/trafficserver > > >
Re: Stale objects not delivered in case of offline parent
Hi Brian, nice catch. I just built the 9.2 and tested it. It works like a charm. Thanks a lot. Best regards, Matthias On Thursday, June 30, 2022 22:35 CEST, Brian Neradt wrote: > Hi Matthias, > > This looks like the bug which was fixed in the 9.2 release via the > following PR: > https://github.com/apache/trafficserver/pull/8473 > > Can you try upgrading and see whether that addresses your issue? > > Brian > > On Thu, Jun 30, 2022 at 10:18 AM Matthias Kneer wrote: > > > Hi list, > > > > I'm running ATS 9.1.2 as a cache in front of a webserver, no forward > > proxy involved. > > > > While the origin is online, caching works fine. The content is not beeing > > re-requested while TTL is "fresh". Once the parent goes offline ATS is not > > willing to deliver the stale object, even though it's still available and > > the max_age has not reached the max_stale_age. The expected behaviour would > > be, that the content is delivered from cache until the max stale age is > > reached. > > > > This is the debug log of an requests while the parent was offline: > > https://logpaste.com/hpklDjZH > > > > These are my config values that differ from default > > > > proxy.config.body_factory.template_sets_dir has changed > > Current Value: /opt/trafficserver/etc/trafficserver/body_factory > > Default Value: etc/trafficserver/body_factory > > proxy.config.diags.debug.enabled has changed > > Current Value: 1 > > Default Value: 0 > > proxy.config.diags.logfile.rolling_enabled has changed > > Current Value: 2 > > Default Value: 0 > > proxy.config.diags.logfile.rolling_size_mb has changed > > Current Value: 256 > > Default Value: 10 > > proxy.config.dns.round_robin_nameservers has changed > > Current Value: 0 > > Default Value: 1 > > proxy.config.exec_thread.autoconfig has changed > > Current Value: 0 > > Default Value: 1 > > proxy.config.http.cache.max_open_read_retries has changed > > Current Value: 1 > > Default Value: -1 > > proxy.config.http.cache.open_write_fail_action has changed > > Current Value: 5 > > Default Value: 0 > > proxy.config.http.cache.required_headers has changed > > Current Value: 0 > > Default Value: 2 > > proxy.config.http.connect_attempts_timeout has changed > > Current Value: 10 > > Default Value: 30 > > proxy.config.http.insert_response_via_str has changed > > Current Value: 3 > > Default Value: 0 > > proxy.config.http.parent_proxy.retry_time has changed > > Current Value: 5 > > Default Value: 300 > > proxy.config.http.proxy_protocol_allowlist has changed > > Current Value: 127.0.0.1 > > Default Value: none > > proxy.config.http.server_ports has changed > > Current Value: 8080:proto=http 8080:ipv6 8443:proto=http2;http:ssl > > 8443:ipv6:proto=http2;http:ssl > > Default Value: 8080 8080:ipv6 > > proxy.config.http.slow.log.threshold has changed > > Current Value: 1 > > Default Value: 0 > > proxy.config.http.transaction_active_timeout_in has changed > > Current Value: 0 > > Default Value: 900 > > proxy.config.log.logfile_dir has changed > > Current Value: /var/log/trafficserver > > Default Value: var/logs > > proxy.config.log.max_space_mb_for_logs has changed > > Current Value: 8192 > > Default Value: 25000 > > proxy.config.log.max_space_mb_headroom has changed > > Current Value: 50 > > Default Value: 1000 > > proxy.config.log.rolling_enabled has changed > > Current Value: 2 > > Default Value: 1 > > proxy.config.log.rolling_max_count has changed > > Current Value: 10 > > Default Value: 0 > > proxy.config.log.rolling_min_count has changed > > Current Value: 1 > > Default Value: 0 > > proxy.config.log.rolling_size_mb has changed > > Current Value: 512 > > Default Value: 10 > > proxy.config.ssl.CA.cert.path has changed > > Current Value: /opt/trafficserver/etc/trafficserver/ssl > > Default Value: etc/trafficserver > > proxy.config.ssl.client.CA.cert.filename has changed > > Current Value: ca-bundle.crt > > Default Value: NULL > > proxy.config.ssl.client.CA.cert.path has changed > > Current Value: /etc/pki/tls/certs > > Default Value: etc/trafficserver > > proxy.config.ssl.client.cert.path has changed > > Current Value: /opt/trafficserver/etc/trafficserver/ssl > > Default Value: etc/trafficserver > > proxy.config.ssl.client.private_key.path has changed > > Current Value: /opt/trafficserver/etc/trafficserver/ssl > > Default Value: etc/trafficserver > > proxy.config.ssl.server.cert.path has changed > > Current Value: /opt/trafficserver/etc/trafficserver/ssl > > Default Value: etc/trafficserver > > proxy.config.ssl.server.private_key.path
Re: Stale objects not delivered in case of offline parent
Hi Matthias, This looks like the bug which was fixed in the 9.2 release via the following PR: https://github.com/apache/trafficserver/pull/8473 Can you try upgrading and see whether that addresses your issue? Brian On Thu, Jun 30, 2022 at 10:18 AM Matthias Kneer wrote: > Hi list, > > I'm running ATS 9.1.2 as a cache in front of a webserver, no forward > proxy involved. > > While the origin is online, caching works fine. The content is not beeing > re-requested while TTL is "fresh". Once the parent goes offline ATS is not > willing to deliver the stale object, even though it's still available and > the max_age has not reached the max_stale_age. The expected behaviour would > be, that the content is delivered from cache until the max stale age is > reached. > > This is the debug log of an requests while the parent was offline: > https://logpaste.com/hpklDjZH > > These are my config values that differ from default > > proxy.config.body_factory.template_sets_dir has changed > Current Value: /opt/trafficserver/etc/trafficserver/body_factory > Default Value: etc/trafficserver/body_factory > proxy.config.diags.debug.enabled has changed > Current Value: 1 > Default Value: 0 > proxy.config.diags.logfile.rolling_enabled has changed > Current Value: 2 > Default Value: 0 > proxy.config.diags.logfile.rolling_size_mb has changed > Current Value: 256 > Default Value: 10 > proxy.config.dns.round_robin_nameservers has changed > Current Value: 0 > Default Value: 1 > proxy.config.exec_thread.autoconfig has changed > Current Value: 0 > Default Value: 1 > proxy.config.http.cache.max_open_read_retries has changed > Current Value: 1 > Default Value: -1 > proxy.config.http.cache.open_write_fail_action has changed > Current Value: 5 > Default Value: 0 > proxy.config.http.cache.required_headers has changed > Current Value: 0 > Default Value: 2 > proxy.config.http.connect_attempts_timeout has changed > Current Value: 10 > Default Value: 30 > proxy.config.http.insert_response_via_str has changed > Current Value: 3 > Default Value: 0 > proxy.config.http.parent_proxy.retry_time has changed > Current Value: 5 > Default Value: 300 > proxy.config.http.proxy_protocol_allowlist has changed > Current Value: 127.0.0.1 > Default Value: none > proxy.config.http.server_ports has changed > Current Value: 8080:proto=http 8080:ipv6 8443:proto=http2;http:ssl > 8443:ipv6:proto=http2;http:ssl > Default Value: 8080 8080:ipv6 > proxy.config.http.slow.log.threshold has changed > Current Value: 1 > Default Value: 0 > proxy.config.http.transaction_active_timeout_in has changed > Current Value: 0 > Default Value: 900 > proxy.config.log.logfile_dir has changed > Current Value: /var/log/trafficserver > Default Value: var/logs > proxy.config.log.max_space_mb_for_logs has changed > Current Value: 8192 > Default Value: 25000 > proxy.config.log.max_space_mb_headroom has changed > Current Value: 50 > Default Value: 1000 > proxy.config.log.rolling_enabled has changed > Current Value: 2 > Default Value: 1 > proxy.config.log.rolling_max_count has changed > Current Value: 10 > Default Value: 0 > proxy.config.log.rolling_min_count has changed > Current Value: 1 > Default Value: 0 > proxy.config.log.rolling_size_mb has changed > Current Value: 512 > Default Value: 10 > proxy.config.ssl.CA.cert.path has changed > Current Value: /opt/trafficserver/etc/trafficserver/ssl > Default Value: etc/trafficserver > proxy.config.ssl.client.CA.cert.filename has changed > Current Value: ca-bundle.crt > Default Value: NULL > proxy.config.ssl.client.CA.cert.path has changed > Current Value: /etc/pki/tls/certs > Default Value: etc/trafficserver > proxy.config.ssl.client.cert.path has changed > Current Value: /opt/trafficserver/etc/trafficserver/ssl > Default Value: etc/trafficserver > proxy.config.ssl.client.private_key.path has changed > Current Value: /opt/trafficserver/etc/trafficserver/ssl > Default Value: etc/trafficserver > proxy.config.ssl.server.cert.path has changed > Current Value: /opt/trafficserver/etc/trafficserver/ssl > Default Value: etc/trafficserver > proxy.config.ssl.server.private_key.path has changed > Current Value: /opt/trafficserver/etc/trafficserver/ssl > Default Value: etc/trafficserver > proxy.config.url_remap.pristine_host_hdr has changed > Current Value: 1 > Default Value: 0 > proxy.config.diags.debug.tags has changed > Current Value: > "http_hdrs|http_trans|http_seq|cache|cache_update|cache_read" > Default Value: http|dns > > Could anyone give
Stale objects not delivered in case of offline parent
Hi list, I'm running ATS 9.1.2 as a cache in front of a webserver, no forward proxy involved. While the origin is online, caching works fine. The content is not beeing re-requested while TTL is "fresh". Once the parent goes offline ATS is not willing to deliver the stale object, even though it's still available and the max_age has not reached the max_stale_age. The expected behaviour would be, that the content is delivered from cache until the max stale age is reached. This is the debug log of an requests while the parent was offline: https://logpaste.com/hpklDjZH These are my config values that differ from default proxy.config.body_factory.template_sets_dir has changed Current Value: /opt/trafficserver/etc/trafficserver/body_factory Default Value: etc/trafficserver/body_factory proxy.config.diags.debug.enabled has changed Current Value: 1 Default Value: 0 proxy.config.diags.logfile.rolling_enabled has changed Current Value: 2 Default Value: 0 proxy.config.diags.logfile.rolling_size_mb has changed Current Value: 256 Default Value: 10 proxy.config.dns.round_robin_nameservers has changed Current Value: 0 Default Value: 1 proxy.config.exec_thread.autoconfig has changed Current Value: 0 Default Value: 1 proxy.config.http.cache.max_open_read_retries has changed Current Value: 1 Default Value: -1 proxy.config.http.cache.open_write_fail_action has changed Current Value: 5 Default Value: 0 proxy.config.http.cache.required_headers has changed Current Value: 0 Default Value: 2 proxy.config.http.connect_attempts_timeout has changed Current Value: 10 Default Value: 30 proxy.config.http.insert_response_via_str has changed Current Value: 3 Default Value: 0 proxy.config.http.parent_proxy.retry_time has changed Current Value: 5 Default Value: 300 proxy.config.http.proxy_protocol_allowlist has changed Current Value: 127.0.0.1 Default Value: none proxy.config.http.server_ports has changed Current Value: 8080:proto=http 8080:ipv6 8443:proto=http2;http:ssl 8443:ipv6:proto=http2;http:ssl Default Value: 8080 8080:ipv6 proxy.config.http.slow.log.threshold has changed Current Value: 1 Default Value: 0 proxy.config.http.transaction_active_timeout_in has changed Current Value: 0 Default Value: 900 proxy.config.log.logfile_dir has changed Current Value: /var/log/trafficserver Default Value: var/logs proxy.config.log.max_space_mb_for_logs has changed Current Value: 8192 Default Value: 25000 proxy.config.log.max_space_mb_headroom has changed Current Value: 50 Default Value: 1000 proxy.config.log.rolling_enabled has changed Current Value: 2 Default Value: 1 proxy.config.log.rolling_max_count has changed Current Value: 10 Default Value: 0 proxy.config.log.rolling_min_count has changed Current Value: 1 Default Value: 0 proxy.config.log.rolling_size_mb has changed Current Value: 512 Default Value: 10 proxy.config.ssl.CA.cert.path has changed Current Value: /opt/trafficserver/etc/trafficserver/ssl Default Value: etc/trafficserver proxy.config.ssl.client.CA.cert.filename has changed Current Value: ca-bundle.crt Default Value: NULL proxy.config.ssl.client.CA.cert.path has changed Current Value: /etc/pki/tls/certs Default Value: etc/trafficserver proxy.config.ssl.client.cert.path has changed Current Value: /opt/trafficserver/etc/trafficserver/ssl Default Value: etc/trafficserver proxy.config.ssl.client.private_key.path has changed Current Value: /opt/trafficserver/etc/trafficserver/ssl Default Value: etc/trafficserver proxy.config.ssl.server.cert.path has changed Current Value: /opt/trafficserver/etc/trafficserver/ssl Default Value: etc/trafficserver proxy.config.ssl.server.private_key.path has changed Current Value: /opt/trafficserver/etc/trafficserver/ssl Default Value: etc/trafficserver proxy.config.url_remap.pristine_host_hdr has changed Current Value: 1 Default Value: 0 proxy.config.diags.debug.tags has changed Current Value: "http_hdrs|http_trans|http_seq|cache|cache_update|cache_read" Default Value: http|dns Could anyone give me some hint what might be causing this behavior? Best regards, Matthias