You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by GitBox <gi...@apache.org> on 2021/11/16 06:34:24 UTC

[GitHub] [trafficserver] amoghyermalkar123 opened a new issue #8519: How long does ATS take to reinstate a downed parent?

amoghyermalkar123 opened a new issue #8519:
URL: https://github.com/apache/trafficserver/issues/8519


   ATS version : 8.1.1
   
   To be more descriptive : I'm trying to figure out what is the amount of time a child node takes to reinstate it's respective parent node after it has been marked down due to any reasons.
   
   What I have done:
   I have went through detailed debug logs to find out parameters and timing under which a child node decides to try to mark a parent up after it has been down. All i have found is there is some sort of ticker based mechanism but I am clear as to it's timing and other deciding factors if any.
   
   Please provide a detailed answer or a documentation which I can refer. I have referred parent.config and other such configs but have not found anything helpful that gives me a detailed answer.
   
   Thank you in advance.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficserver] amoghyermalkar123 commented on issue #8519: How long does ATS take to reinstate a downed parent?

Posted by GitBox <gi...@apache.org>.
amoghyermalkar123 commented on issue #8519:
URL: https://github.com/apache/trafficserver/issues/8519#issuecomment-976132696


   Thank you @rob05c I think that answers my question, also thank you for the documentation links.
   Closing the issue.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficserver] amoghyermalkar123 closed issue #8519: How long does ATS take to reinstate a downed parent?

Posted by GitBox <gi...@apache.org>.
amoghyermalkar123 closed issue #8519:
URL: https://github.com/apache/trafficserver/issues/8519


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficserver] rob05c commented on issue #8519: How long does ATS take to reinstate a downed parent?

Posted by GitBox <gi...@apache.org>.
rob05c commented on issue #8519:
URL: https://github.com/apache/trafficserver/issues/8519#issuecomment-976078484


   The settings are in records.config: 
   
   https://docs.trafficserver.apache.org/en/8.1.x/admin-guide/files/records.config.en.html#parent-proxy-configuration
   
   There are a lot of variables here. 
   
   First, it will retry a parent `proxy.config.http.parent_proxy.fail_threshold` times before marking it down. Each time, the timeout will be `proxy.config.http.parent_proxy.connect_attempts_timeout`. The time before the attempt fails can be up to that time, such as if a firewall is simply dropping packets, but maybe be shorter, such as a firewall returning a TCP Reset. 
   
   If your `proxy.config.http.parent_proxy.total_connect_attempts` is less than `proxy.config.http.parent_proxy.fail_threshold`, the time to mark down will also depend on how long in-between client requests.
   
   After a parent is marked down, ATS will wait `proxy.config.http.parent_proxy.retry_time` before trying it again for a future client request.
   
   ATS will make `proxy.config.http.parent_proxy.per_parent_connect_attempts` to a single parent. Then it will try the next parent (per the parent selection algorithm - round_robin, strict, consistent hash). After making a total of `proxy.config.http.parent_proxy.total_connect_attempts` attempts, it will return an error to the client.
   
   So, the time to reinstate a downed parent after the initial attempt could be as much as `proxy.config.http.parent_proxy.fail_threshold * 
   (proxy.config.http.parent_proxy.connect_attempts_timeout + proxy.config.http.parent_proxy.retry_time) * "the time between clients requesting" + 
   proxy.config.http.parent_proxy.retry_time + 
   proxy.config.http.parent_proxy.connect_attempts_timeout`
   
   Or as little as `proxy.config.http.parent_proxy.fail_threshold`.
   
   Assuming my math is right. Again, there are a lot of variables in-flight here.
   
   This is also assuming you're using parent.config and have `proxy.config.http.parent_proxy_routing_enable` set to `1`. If you're not, the similar settings here will be used instead:
   
   https://docs.trafficserver.apache.org/en/8.1.x/admin-guide/files/records.config.en.html#origin-server-connect-attempts
   
   You might also find this helpful: 
   
   https://docs.trafficserver.apache.org/en/8.1.x/admin-guide/performance/index.en.html#timeout-settings
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficserver] rob05c edited a comment on issue #8519: How long does ATS take to reinstate a downed parent?

Posted by GitBox <gi...@apache.org>.
rob05c edited a comment on issue #8519:
URL: https://github.com/apache/trafficserver/issues/8519#issuecomment-976078484


   The settings are in records.config: 
   
   https://docs.trafficserver.apache.org/en/8.1.x/admin-guide/files/records.config.en.html#parent-proxy-configuration
   
   There are a lot of variables here. 
   
   First, it will retry a parent `proxy.config.http.parent_proxy.fail_threshold` times before marking it down. Each time, the timeout will be `proxy.config.http.parent_proxy.connect_attempts_timeout`. The time before the attempt fails can be up to that time, such as if a firewall is simply dropping packets, but maybe be shorter, such as a firewall returning a TCP Reset. 
   
   If your `proxy.config.http.parent_proxy.total_connect_attempts` is less than `proxy.config.http.parent_proxy.fail_threshold`, the time to mark down will also depend on how long in-between client requests.
   
   After a parent is marked down, ATS will wait `proxy.config.http.parent_proxy.retry_time` before trying it again for a future client request.
   
   ATS will make `proxy.config.http.parent_proxy.per_parent_connect_attempts` to a single parent. Then it will try the next parent (per the parent selection algorithm - round_robin, strict, consistent hash). After making a total of `proxy.config.http.parent_proxy.total_connect_attempts` attempts, it will return an error to the client.
   
   So, the time to reinstate a downed parent after the initial attempt could be as much as `proxy.config.http.parent_proxy.fail_threshold * 
   (proxy.config.http.parent_proxy.connect_attempts_timeout + proxy.config.http.parent_proxy.retry_time) * "the time between clients requesting" + 
   proxy.config.http.parent_proxy.retry_time + 
   proxy.config.http.parent_proxy.connect_attempts_timeout`
   
   Or as little as `proxy.config.http.parent_proxy.retry_time`.
   
   Assuming my math is right. Again, there are a lot of variables in-flight here.
   
   This is also assuming you're using parent.config and have `proxy.config.http.parent_proxy_routing_enable` set to `1`. If you're not, the similar settings here will be used instead:
   
   https://docs.trafficserver.apache.org/en/8.1.x/admin-guide/files/records.config.en.html#origin-server-connect-attempts
   
   You might also find this helpful: 
   
   https://docs.trafficserver.apache.org/en/8.1.x/admin-guide/performance/index.en.html#timeout-settings
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficserver] rob05c edited a comment on issue #8519: How long does ATS take to reinstate a downed parent?

Posted by GitBox <gi...@apache.org>.
rob05c edited a comment on issue #8519:
URL: https://github.com/apache/trafficserver/issues/8519#issuecomment-976078484


   The settings are in records.config: 
   
   https://docs.trafficserver.apache.org/en/8.1.x/admin-guide/files/records.config.en.html#parent-proxy-configuration
   
   There are a lot of variables here. 
   
   First, it will retry a parent `proxy.config.http.parent_proxy.fail_threshold` times before marking it down. Each time, the timeout will be `proxy.config.http.parent_proxy.connect_attempts_timeout`. The time before the attempt fails can be up to that time, such as if a firewall is simply dropping packets, but maybe be shorter, such as a firewall returning a TCP Reset. 
   
   If your `proxy.config.http.parent_proxy.total_connect_attempts` is less than `proxy.config.http.parent_proxy.fail_threshold`, the time to mark down will also depend on how long in-between client requests.
   
   After a parent is marked down, ATS will wait `proxy.config.http.parent_proxy.retry_time` before trying it again for a future client request.
   
   ATS will make `proxy.config.http.parent_proxy.per_parent_connect_attempts` to a single parent. Then it will try the next parent (per the parent selection algorithm - round_robin, strict, consistent hash). After making a total of `proxy.config.http.parent_proxy.total_connect_attempts` attempts, it will return an error to the client.
   
   So, the time to reinstate a downed parent after the initial attempt could be as much as `proxy.config.http.parent_proxy.fail_threshold * 
   (proxy.config.http.parent_proxy.connect_attempts_timeout + proxy.config.http.parent_proxy.retry_time) * ("the time between clients requesting" + 
   proxy.config.http.parent_proxy.retry_time + 
   proxy.config.http.parent_proxy.connect_attempts_timeout)`
   
   Or as little as `proxy.config.http.parent_proxy.retry_time`.
   
   Assuming my math is right. Again, there are a lot of variables in-flight here.
   
   This is also assuming you're using parent.config and have `proxy.config.http.parent_proxy_routing_enable` set to `1`. If you're not, the similar settings here will be used instead:
   
   https://docs.trafficserver.apache.org/en/8.1.x/admin-guide/files/records.config.en.html#origin-server-connect-attempts
   
   You might also find this helpful: 
   
   https://docs.trafficserver.apache.org/en/8.1.x/admin-guide/performance/index.en.html#timeout-settings
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficserver] dhairav commented on issue #8519: How long does ATS take to reinstate a downed parent?

Posted by GitBox <gi...@apache.org>.
dhairav commented on issue #8519:
URL: https://github.com/apache/trafficserver/issues/8519#issuecomment-978888546


   Thank you @rob05c for the detailed explanation!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org