-
Notifications
You must be signed in to change notification settings - Fork 286
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split BinaryProvider into read vs write #998
Split BinaryProvider into read vs write #998
Conversation
In the past a provider was marked With #802 the " |
It's a really good point that we need to invalidate the precheck status of any packages that were pushed -- otherwise we would refuse to try to download them. However, we SHOULD be running |
This is currently already the case :)
That is true (but I think this only happens rarely), but at least for the destinations we pushed a package to, we know we can read it back from there. Invalidating also works and is needed for providers to which we don't have pushed a package, but for the other providers that means unnecessary work (but the overhead is probably negligible). |
2e57679
to
8c1761a
Compare
…ev/roschuma/bincache
…ev/roschuma/bincache
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most of the CR comments are nits. A few non-nits:
- I'm weakly opposed to RemoveFilesystem.
- The comments describing the interface contracts.
- Localizing vendor().
"StoredBinariesToDestinations": "Stored binaries in {count} destinations.", | ||
"_StoredBinariesToDestinations.comment": "An example of {count} is 42.", | ||
"StoredBinariesToDestinations": "Stored binaries in {count} destinations in {elapsed}.", | ||
"_StoredBinariesToDestinations.comment": "An example of {count} is 42. An example of {elapsed} is 3.532 min.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As an aside, elapsed may be bogus when localized?
|
||
struct AssetSourcesParser : ConfigSegmentsParser | ||
std::vector<CacheAvailability> ReadOnlyBinaryCache::precheck(View<InstallPlanAction> actions) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's now possible to write tests for this, and that's probably worth it now that this function is doing complicated stuff to map between universes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM as long as the files.associations thing that looks unintended (?) is fixed.
Items left unaddressed:
|
This is a rewrite of the Binary Caching infrastructure to improve code sharing and reduce coupling.
This will make #908 more tractable because there will be significantly fewer lines to audit.