-
Notifications
You must be signed in to change notification settings - Fork 18k
GOSUMDB failing "410 Gone" for publicly-available tag #34370
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
Comments
Those URLs work for me now. Were you maybe hitting the cache that had not learned about the new version yet? |
@bmhatfield Interesting, I can't reproduce this. $ curl https://proxy.golang.org/github.com/digits/graphql-go/@v/v0.0.2.info
{"Version":"v0.0.2","Time":"2019-09-18T14:52:33Z"} It also appears in the sumdb for me. /cc @katiehockman who should know more. |
Interesting. The |
There are two levels of caching at work, and their expirations are not synchronized, so I think what happened is:
Without going into too much detail, because all of this is subject to change, the longest this could have lasted was an hour. So all of your links are working for me, and I think they'll probably work for you given the timeouts involved. Note that some of the caching is regional so it's not surprising that different people would see different results. All of this is working as we expect, but there may be room for improvement, particularly in synchronizing the various cache expirations. I've only heard of one other example of this kind of problem, though. For now, you might consider setting GONOPROXY on repositories that you control so that you don't accidentally fetch a tag that you're about to create. Edit: the caches are now synchronized, see below. |
@heschik your explanation makes sense to me. Both links are now working. For a little more detail, what happened here was I originally forgot the One suggestion I have here is to dramatically reduce or eliminate the cache time on 4XX and 5XX responses from the upstream sources. While I understand there may be a need to cache 4XX errors to limit the number of requests making it upstream from |
If failure responses were always due to user error, I think that would be good. Unfortunately package-to-module resolution is expected to yield errors. For example, I'm going to close this since I don't think there's anything to do right now, but if people have more trouble like this, please feel free to comment here or file a new issue referencing this one so that we can reconsider. |
I am getting this problem with publicly tagged commits way older than 1 hour. (18 and 50 days) EDIT: New issue as requested below: #34402 |
@MMulthaupt Please open a new issue, it's likely to have a different cause, and we don't track closed issues. (I suggest you try without +incompatible, in case v2.19.7 added a go.mod and became compatible with modules.) |
As an update, we've fixed some of the synchronization of our caching and expirations, so now the longest that this kind of problem could occur would be 30 minutes, rather than an hour. We still strongly suggest that you Tag first, Fetch second. Then there should be no delay at all. |
How do we reset the cache then? I have a public tag that can't be accessed that is blocking a new release: #36183 FWIW, my tag was created first and then the command was run thereafter. |
What version of Go are you using (
go version
)?go version go1.13 darwin/amd64
Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
In a private repository (which works fine with modules and 1.13), update a replace directive for a publicly-available fork:
What did you expect to see?
I expected
go test ./...
to succeed.What did you see instead?
However, running:
export GOPRIVATE=github.com/digits/*
allows this to succeed.Confirmed that neither the proxy nor the sumdb are aware of this tag:
https://proxy.golang.org/github.com/digits/graphql-go/@v/v0.0.2.info
https://sum.golang.org/lookup/github.com/digits/[email protected]
The previous version works:
https://sum.golang.org/lookup/github.com/digits/[email protected]
The text was updated successfully, but these errors were encountered: