-
Notifications
You must be signed in to change notification settings - Fork 778
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ATS 9.2.x and origin 301/302 chase redirections #10955
Comments
I did a bit further testing and looks like as soon as following proxy.config.http.cache.max_open_write_retries is set to something > INT 1 - it gets into the state of doing on the 2nd, 3rd request for the object, the Cache open read failure
it is doing as many read retries based on following settings: Example proxy.config.http.cache.max_open_read_retries 10 , the retry itself is 1 every 1 second If I set "proxy.config.http.cache.max_open_write_retries" to INT 1, everything seems working fine |
We are running Trafficserver 9.2.3 and observed an issue where trafficserver seems not to work as expected by following 302 redirects.
Following the redirect from Origin, ATS now serves the content on the first attempt. Unfortunately, re-querying the same object always results in a timeout.
After some debugging, it appears that the second and subsequent requests never get the content and always hit a timeout.
The debug logs show 'cache open read failure' in a retry loop.
I have tried as well to set proxy.config.http.redirect_use_orig_cache_key 1 but after doing that, I get the timeout right at the first try. The 302 response itself seems to be a success based on the logs but neither a 301 or 302 itself is cached. I suppose because the inflight transaction never finishes.
System details:
ATS settings:
Following settings seems to make it better (content is served with huge 6 second delay because each of the 5 open_read_retries seems to take 1 second) but the issue still persists with CACHE_EVENT_OPEN_READ_FAILED/TS_EVENT_CACHE_OPEN_READ_FAILED which seem to cause the slowness.
I have used initial another origin but for troubleshooting, I have setting a simple nginx instance with following configuration
traffic.out-clean-2nd-sanitized.txt
traffic.out-clean-1st-sanitized.txt
Origin nginx settings
The text was updated successfully, but these errors were encountered: