[ 
https://issues.apache.org/jira/browse/TS-3140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14220529#comment-14220529
 ] 

zouyu commented on TS-3140:
---------------------------

Hi Alan,
The current behavior is that ATS will check the cache firstly, if cache miss, 
it will perform redirect query and add the result to cache. The problem is 
that, after checking cache, ATS will perform redirect and then check cache and 
then perform redirect in a dead loop.
And this problem can be reproduced by above steps.
Currently, there are two problems for this issue:
1. definitely loop will result in stack exhausted.
2. we can use number_of_redirection to limit the redirect try, but for cache, 
this mechanism doesn't work, there is no limited number of cache try. If there 
is a redirect loop configured by mistake and all they are in the cache, dead 
loop also happens.

> Traffic server crashes when there is a redirect response in cache
> -----------------------------------------------------------------
>
>                 Key: TS-3140
>                 URL: https://issues.apache.org/jira/browse/TS-3140
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: HTTP
>    Affects Versions: 5.0.1
>            Reporter: zouyu
>            Assignee: Alan M. Carroll
>              Labels: crash, review
>             Fix For: 5.3.0
>
>         Attachments: TS-3140.diff
>
>
> Traffic server will crash in below steps:
> 1. Enable redirect and http cache, make sure that traffic server can cache 
> redirect request & redirect response such as 302/307 response.
> 2. make a remap url in traffic server which will remap to a redirect url 
> 'redirect_url_1' which points to 'www.google.com' ( note that 
> 'www.google.com'  is also a redirect url which may point to 
> 'www.google.com.sg')
> 3. make number_of_redirections=1 in records.config.
> 4. access the 'redirect_url_1'. At first time, after access it, traffic 
> server will cache the redirect response such as 307.
> 5. try to access the  'redirect_url_1' again, this time traffic server will 
> crash.
> The root cause is that in above case, traffic sever will check the cache in a 
> loop definitely which will exhausted the stack space.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to