Conversation
traeak
marked this pull request as draft
September 2, 2026 15:43
Comment on lines
+503
to
+506
| URLImpl::has_path_params() const noexcept | ||
| { | ||
| return m_ptr_path != nullptr && memchr(m_ptr_path, ';', m_len_path) != nullptr; | ||
| } |
Comment on lines
+2733
to
+2741
| if (s->cache_lookup_result == HttpTransact::CacheLookupResult_t::HIT_STALE && s->state_machine != nullptr && | ||
| CompatCacheKey::is_legacy(s->state_machine->compatibility_cache_lookup) && | ||
| (s->method == HTTP_WKSIDX_GET || s->method == HTTP_WKSIDX_HEAD)) { | ||
| TxnDbg(dbg_ctl_http_seq, "Stale under the compatibility key, treating as a miss"); | ||
| s->cache_info.object_read = nullptr; | ||
| s->cache_lookup_result = HttpTransact::CacheLookupResult_t::MISS; | ||
| s->cache_lookup_complete_deferred = false; | ||
| TRANSACT_RETURN(StateMachineAction_t::API_CACHE_LOOKUP_COMPLETE, HttpTransact::HandleCacheOpenReadMiss); | ||
| } |
Comment on lines
+881
to
+882
| url.create(heap.get()); | ||
| REQUIRE(url.parse(text, strlen(text)) == ParseResult::DONE); |
Comment on lines
+5373
to
+5374
| // the purge. | ||
| if (t_state.http_config_param->cache_try_compat_key_read) { |
Contributor
|
This is more complicated than I thought in the beginning. I'd suggest fix the cache key bug with |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow on to #12271 and #12283
proxy.config.http.cache.try_compat_key_readcould find an object storedunder the ATS 9.2 cache key but never do anything useful with it. The write
that would carry a revalidation or an update is a create on the current key
rather than an update of the legacy vector, so the cache silently discarded
it — 304s, header updates and negative revalidating all became no-ops that
still reported success. Separately, the 9.2 key was reproduced incorrectly
for any path containing
;, so those objects were never found at all.origin returns a full response and the existing write path migrates the
object to the current key.
provably converge.
state-machine layer reports that the new object reached disk, so deleting
on the tunnel's write-complete event loses the object whenever the write
is later rejected.
NOTE: As part of cache migration, if a 92x header is detected any IMS headers to parent are stripped and the asset is freshly pulled from parent. This will cause an increase in parent bandwidth as stale objects will be repulled instead of refreshed.