mirror of
https://github.com/cloudflare/pingora.git
synced 2024-09-20 02:31:35 +02:00
unset meta on cache miss
If we have a cache miss, any meta in this object is invalid. Unset it so that we don't use it later.
This commit is contained in:
parent
d1d7a87b76
commit
444186eb71
2 changed files with 6 additions and 1 deletions
2
.bleep
2
.bleep
|
@ -1 +1 @@
|
||||||
90c70086397a4708a4dadfed6e6915ce6dc33481
|
856e8cec6eaf3ad55fd83b85a85591bfd7dbe1dc
|
|
@ -499,6 +499,11 @@ impl HttpCache {
|
||||||
// from Stale: waited for cache lock, then retried and found asset was gone
|
// from Stale: waited for cache lock, then retried and found asset was gone
|
||||||
CachePhase::CacheKey | CachePhase::Bypass | CachePhase::Stale => {
|
CachePhase::CacheKey | CachePhase::Bypass | CachePhase::Stale => {
|
||||||
self.phase = CachePhase::Miss;
|
self.phase = CachePhase::Miss;
|
||||||
|
// It's possible that we've set the meta on lookup and have come back around
|
||||||
|
// here after not being able to acquire the cache lock, and our item has since
|
||||||
|
// purged or expired. We should be sure that the meta is not set in this case
|
||||||
|
// as there shouldn't be a meta set for cache misses.
|
||||||
|
self.inner_mut().meta = None;
|
||||||
self.inner_mut().traces.start_miss_span();
|
self.inner_mut().traces.start_miss_span();
|
||||||
}
|
}
|
||||||
_ => panic!("wrong phase {:?}", self.phase),
|
_ => panic!("wrong phase {:?}", self.phase),
|
||||||
|
|
Loading…
Reference in a new issue