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]
