Maven virtual registry: disable check with upstream when cache validity period is 0
🔥 Problem
In the maven virtual registry, we have this concept of: is a cached response valid or not? Better said: is the cached response fresh enough or not.
To answer that, users can set a validity period in hours at the registry level. The default value is 1
, meaning that every hour, when accessing a cached response that is outside of the validity period, we will check with upstream if we can still use it.
The problem is that some package registries, in particular the official public ones (in this case, maven central), do not allow packages to be deleted or overwritten. This means that once a package is published, its files will not move at all. For virtual registries, this also means that we don't need to check with maven central ever
Thus, we need a value representing that the upstream check is disabled. That value can be 0
.
🚒 Solution
Allow the cache validity period to be 0
.
When set to 0
, the #stale?
function of the cached response should always return false
. This will avoid pinging the upstream