Re: Stale objects not delivered in case of offline parent

2022-06-30 Thread Brian Neradt
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

2022-06-30 Thread Matthias Kneer
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

2022-06-30 Thread Brian Neradt
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

2022-06-30 Thread Matthias Kneer
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