Don't panic if the duration is negative in try_get_or_insert (#3413)
This commit is contained in:
1 parent
ecf8d16f3e
commit
21fdecd219
1 file changed
+7
-4
@@ -55,10 +55,13 @@ impl InMemoryCache {
|
|||||||
let age = elapsed.num_seconds();
|
let age = elapsed.num_seconds();
|
||||||
// The cache entry is out of date, so we need to remove it.
|
// The cache entry is out of date, so we need to remove it.
|
||||||
if let Some(invalidate_after) = self.invalidate_after {
|
if let Some(invalidate_after) = self.invalidate_after {
|
||||||
if elapsed.to_std().unwrap() > invalidate_after {
|
// If we can't convert to a std duration, the duration is negative and hasn't elapsed yet.
|
||||||
tracing::trace!("memory cache out of date");
|
if let Ok(std_elapsed) = elapsed.to_std() {
|
||||||
memory_cache.pop(route);
|
if std_elapsed > invalidate_after {
|
||||||
return Ok(None);
|
tracing::trace!("memory cache out of date");
|
||||||
|
memory_cache.pop(route);
|
||||||
|
return Ok(None);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user