CacheConfigs are always enabled; clarify directory validation #11376
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.
This makes two small changes to the CacheConfig/Cache system:
First, the comments referred to enabled/disabled caches, which is no longer a thing after #10665, so I've removed this. There were also some docs about panics in these cases (which are also now impossible) which I removed.
Second,
CacheConfig::default()/CacheConfig::new()produced configs which would panic if you asked for theirdirectorywithout first callingvalidate, butvalidateis not public API. So instead we return an Option fromCacheConfig::directory()and move the panic toCache::directory()andWorkerThread::directory()which should be impossible to trigger (sincevalidateis called byCache::new). We could alternatively make a ValidatedCacheConfig or something which is returned fromvalidateand store/pass that around, but it seemed a bit overkill to me.cc @benbrandt who was working on this recently in case I'm missing something.