This repository has been archived by the owner on Sep 9, 2020. It is now read-only.
gps: source cache: enable opt-in persistent caching via DEPCACHEAGE env var #1711
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.
What does this do / why do we need it?
This PR enables opt-in persistent source caching, via the $DEPCACHEAGE environment variable. By setting a duration (e.g.
24h
), source info written to cache since<duration>
ago will be accepted.Testing lock file regeneration for cockroachdb (
rm Gopkg.lock; dep ensure -no-vendor
) on my machine shows speedup from around1m30s
to10s
.This feature is opt-in only for now, so an unset $DEPCACHEAGE will not use the new cache. In the future caching may be the default, and this var would be used to override (perhaps with an additional more explicit
-no-cache
flag to disable per invocation).Sources are cached under the dep cache directory as
bolt-v1.db
. This file can be nuked if necessary, though I have had good luck thus far.What should your reviewer look out for in this PR?
A better env var name, or better field names in the API.
Which issue(s) does this PR fix?
Nearly #431.