Comments (4)
I like the idea but this will also require a cache refresh otherwise we may have false positives while declaring a module version as complete.
from athens.
As long as the module/version is ever requested once, Athens will detect the absence of any of the 3 files and force cache refresh. So the only false positive would only happen to those newly cached modules/versions but never read since, which should be very rare. We can deploy the change in two stages to further reduce the chance:
Stage 1: enforce the order of saving the 3 files and have users to run go clean -modcache && go mod tidy
to make sure that all active modules are complete
Stage 2: modify the Exits()
function to check only the info file.
Alternatively, we can write an empty file instead, and use that as the atomic flag.
from athens.
Can we close this now @linzhp
from athens.
Yeah, with less calls to Exists()
after #1842 and #1844 improving the performance, we don't need this anymore
from athens.
Related Issues (20)
- s3.Exists returns 404 even if module is present in S3 HOT 1
- Helm Repository Not Reachable HOT 2
- S3 List API use vsc HOT 3
- helm: HPA for athens
- Support for authentication to Azure Blob Storage using a SAS token HOT 3
- Inconsistency between Azure Blob Storage and other storage types HOT 4
- Remove DRONE CI HOT 2
- Problem with link in README.MD HOT 1
- Clarify expected behavior of /@latest endpoint in fallback NetworkMode HOT 2
- Add builds for ARM64 HOT 4
- Refresh TLS certificates automatically
- Don't check TLS key file permissions HOT 1
- verifying module: checksum mismatch but only with proxy HOT 1
- Datadog trace and stat exporters immediately stop
- Enforce timeout on vcsLister.List() HOT 1
- Athens leaks etcd leases HOT 7
- Athens should not check the status of all etcd endpoints on startup
- Replace logrus with log/slog HOT 1
- How do I scale the athens container for better performance? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from athens.