Skip to content

proxy.golang.org: pulling @master through proxy does not update @latest for some time #37391

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

Closed
myitcv opened this issue Feb 23, 2020 · 2 comments

Comments

@myitcv
Copy link
Member

myitcv commented Feb 23, 2020

What version of Go are you using (go version)?

$ go version
go version devel +1cd724acb6 Tue Feb 18 20:21:35 2020 +0000 linux/amd64

Does this issue reproduce with the latest release?

Yes

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN="/tmp/tmp.C9u9E1WtXh/bin"
GOCACHE="/home/myitcv/.cache/go-build"
GOENV="/home/myitcv/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/tmp/tmp.mUJezyZXP9"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/myitcv/gos"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/myitcv/gos/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/tmp/tmp.C9u9E1WtXh/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build018847515=/tmp/go-build -gno-record-gcc-switches"

What did you do?

As of:

$ date
Sun 23 Feb 20:12:11 GMT 2020

github.com/myitcvscratch/main2@latest resolves to v0.0.0-20200223195030-0e559444dd31 whereas github.com/myitcvscratch/main2@master resolves to v0.0.0-20200223200030-a2adf1d5f0a7

According to the docs on proxy.golang.org (which match my understanding), after a minute the cache should have expired to update @latest, but I did not see this.

Only some time (I checked 15 mins) later did @latest update.

Was I just being too impatient here, has the cache time increased, or was there an issue?

cc @heschik @hyangah

@heschi
Copy link
Contributor

heschi commented Feb 23, 2020

From proxy.golang.org:

I committed a new change (or released a new version) to a repository, why isn't it showing up when I run go get -u or go list -m --versions?
In order to improve our services' caching and serving latencies, new versions may not show up right away. If you want new code to be immediately available in the mirror, then first make sure there is a semantically versioned tag for this revision in the underlying source repository. Then explicitly request that version via go get module@version. After one minute for caches to expire, the go command will see that tagged version. If this doesn't work for you, please file an issue.

The synchronization you're talking about only works for semantic versions, because you can't tell whether a pseudoversion is a valid @latest by looking at it. We had a go command feature to do that but it was too expensive so we reverted it.

@myitcv
Copy link
Member Author

myitcv commented Feb 24, 2020

We had a go command feature to do that but it was too expensive so we reverted it.

Ah thank you. I had missed/forgotten about this revert. Thanks for clarifying.

I don't think there's anything else to investigate here therefore, so I'll close.

@myitcv myitcv closed this as completed Feb 24, 2020
@golang golang locked and limited conversation to collaborators Feb 23, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants