[
https://issues.apache.org/jira/browse/TS-3652?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14571649#comment-14571649
]
Sudheer Vinukonda commented on TS-3652:
---------------------------------------
After some more investigation, it turns out that this is due to a regression in
5.3.x (refer TS-3661).
Basically, TS stores the final (2xx) response after the redirect follow
attempts against the original client url (or a modified cache key via API). All
the intermediate 3xx responses should never be stored in the cache (even though
there's a lot of code that tries to build a new cache key with the Location
header and tries to store the 3xx responses, all those read/writes fails,
since, the cache_sm for the original key (client request or modified API key)
still is open). Confirmed that this is indeed the case by removing the part of
the commit from TS-3140 that closes cache_sm during redirect follow.
Closing this jira as invalid, since the request in the jira is how TS is
expected to behave anyway (will fix the regression introduced by TS-3140 using
TS-3661)
> During 3xx redirect follow, TS uses the redirect url as the cache key
> ignoring any cache key set via API
> --------------------------------------------------------------------------------------------------------
>
> Key: TS-3652
> URL: https://issues.apache.org/jira/browse/TS-3652
> Project: Traffic Server
> Issue Type: Bug
> Components: HTTP
> Reporter: Sudheer Vinukonda
>
> Currently, during 3xx redirect follow, TS uses the redirect url (as received
> in the *Location* header of the 3xx response) as the cache key for storing
> the subsequent response to the redirect follow request. This works fine in
> most cases, since, the original client request would have cached the 3xx
> response and the final response would still be derived using the redirect
> follow url. This also allows direct requests to the redirect follow location
> be served from the cache efficiently.
> However, this is not desirable in some cases, especially when there's a TS
> API (plugin) modifying the cache key and wanting to store the final response
> against the modified cache key directly.
> Proposing to add a config setting to allow storing API set cache key during
> redirect follow.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)