traeak opened a new pull request, #13611:
URL: https://github.com/apache/trafficserver/pull/13611

   With `proxy.config.http.cache.try_compat_key_read=1`, ATS can find stale 
objects using the ATS 9.2 cache key. Revalidation then opens a write using the 
new canonical key while passing metadata from the legacy object.     
   
   The cache interprets this as an update to an existing canonical object. When 
no canonical-key vector exists, the update fails with `ECACHE_NO_DOC`. The 
refreshed object is not stored under the new key, leaving the legacy object 
stale.
   
   Fix
   - Treat stale compatibility reads as new canonical-key writes when legacy 
object metadata belongs to a different key.
   - Use existing read-retry behavior for canonical-key ECACHE_DOC_BUSY.
   - Retry canonical-key reads instead of sending concurrent requests to origin.
   - Reset compatibility lookup state before retry so retry uses canonical key.
   - Preserve normal configured write-lock behavior for non-compatibility 
traffic.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to