Skip to content

proxy.golang.org: unexpected go module pointing at non-go git repository #51284

Closed
@antarus12345

Description

@antarus12345

{ "Path": "gitweb.gentoo.org/repo/gentoo.git", "Version": "v0.0.0-20220214235306-7a973fdc5ef1", "Timestamp": "2022-02-15T00:05:10.927349Z"

gitweb.gentoo.org/repo/gentoo.git is not a gomodule. Its the entire source repo for Gentoo Linux; and it's 900MB in size (with full history.)

Recently the Gentoo Infrastructure team received traffic alerts on our origin servers because the go-proxy system was downloading this repository (read: 800 times per 24h period.) The origin repo receives a commit about every 10 minutes, so it changes often.

Some questions then from our side:

  • Can we learn who published this module? We would like to understand why this repo is in the origin. Our repo is not a go module.
  • Was there a behavior change recently on the go-proxy side? Our logs from before Feb 18 2022 indicate either a shallow clone (and most of our repo is history, fetching shallow should be quicker / smaller) or previously the behavior was to do 2 fetches (perhaps 1 fetch to find the most recent git sha, and then a second fetch to fetch the diff between what gomoduleproxy had for our repo, and the most recent sha.)
  • Is there some reason why goproxy is not caching the returned content in a smarter way? My thought here was that some go-module references some origin repo, and the origin reference has some git SHA checksum; so ideally even if you fetch'd the full history, you could it once, and then cache it. Perhaps the source module is being bumped often? Either way 800 fetches a day seems extreme unless its being bumped very often.

latest:
74.125.191.67 - - [20/Feb/2022:04:30:43 +0000] "GET /git/repo/gentoo/info/refs?service=git-upload-pack HTTP/1.1" 200 890 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 0.003
74.125.191.67 - - [20/Feb/2022:05:01:02 +0000] "GET /git/repo/gentoo/info/refs?service=git-upload-pack HTTP/1.1" 200 890 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 0.003
74.125.191.67 - - [20/Feb/2022:05:01:02 +0000] "GET /git/repo/gentoo/info/refs?service=git-upload-pack HTTP/1.1" 200 890 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 0.002
74.125.191.67 - - [20/Feb/2022:05:02:44 +0000] "POST /git/repo/gentoo/git-upload-pack HTTP/1.1" 200 925833752 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 101.409
74.125.191.67 - - [20/Feb/2022:17:39:15 +0000] "GET /git/repo/gentoo/info/refs?service=git-upload-pack HTTP/1.1" 200 890 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 0.003

older:
74.125.191.67 - - [01/Feb/2022:00:58:40 +0000] "GET /git/repo/gentoo/info/refs?service=git-upload-pack HTTP/1.1" 200 890 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 0.003
74.125.191.67 - - [01/Feb/2022:00:58:41 +0000] "GET /git/repo/gentoo/info/refs?service=git-upload-pack HTTP/1.1" 200 890 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 0.003
74.125.191.67 - - [01/Feb/2022:00:58:41 +0000] "POST /git/repo/gentoo/git-upload-pack HTTP/1.1" 200 507 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 0.003
74.125.191.67 - - [01/Feb/2022:00:58:49 +0000] "POST /git/repo/gentoo/git-upload-pack HTTP/1.1" 200 54601442 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 8.134
74.125.191.67 - - [01/Feb/2022:03:02:19 +0000] "GET /git/repo/gentoo/info/refs?service=git-upload-pack HTTP/1.1" 200 890 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 0.003
74.125.191.67 - - [01/Feb/2022:03:02:19 +0000] "GET /git/repo/gentoo/info/refs?service=git-upload-pack HTTP/1.1" 200 890 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 0.002
74.125.191.67 - - [01/Feb/2022:03:02:20 +0000] "GET /git/repo/gentoo/info/refs?service=git-upload-pack HTTP/1.1" 200 890 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 0.002
74.125.191.67 - - [01/Feb/2022:03:02:20 +0000] "POST /git/repo/gentoo/git-upload-pack HTTP/1.1" 200 507 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 0.003
74.125.191.67 - - [01/Feb/2022:03:02:29 +0000] "POST /git/repo/gentoo/git-upload-pack HTTP/1.1" 200 54605086 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 8.238
74.125.191.67 - - [01/Feb/2022:03:51:39 +0000] "GET /git/repo/gentoo/info/refs?service=git-upload-pack HTTP/1.1" 200 890 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 0.002
74.125.191.67 - - [01/Feb/2022:03:51:41 +0000] "GET /git/repo/gentoo/info/refs?service=git-upload-pack HTTP/1.1" 200 890 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 0.002
74.125.191.67 - - [01/Feb/2022:03:51:41 +0000] "POST /git/repo/gentoo/git-upload-pack HTTP/1.1" 200 507 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 0.003
74.125.191.67 - - [01/Feb/2022:03:51:49 +0000] "POST /git/repo/gentoo/git-upload-pack HTTP/1.1" 200 54611015 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 8.124
74.125.191.67 - - [01/Feb/2022:10:27:50 +0000] "GET /git/repo/gentoo/info/refs?service=git-upload-pack HTTP/1.1" 200 890 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 0.003
74.125.191.67 - - [01/Feb/2022:10:27:50 +0000] "GET /git/repo/gentoo/info/refs?service=git-upload-pack HTTP/1.1" 200 890 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 0.002
74.125.191.67 - - [01/Feb/2022:10:27:51 +0000] "GET /git/repo/gentoo/info/refs?service=git-upload-pack HTTP/1.1" 200 890 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 0.002
74.125.191.67 - - [01/Feb/2022:10:27:51 +0000] "POST /git/repo/gentoo/git-upload-pack HTTP/1.1" 200 507 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 0.003
74.125.191.67 - - [01/Feb/2022:10:28:00 +0000] "POST /git/repo/gentoo/git-upload-pack HTTP/1.1" 200 54676069 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 8.143
74.125.191.67 - - [01/Feb/2022:11:17:19 +0000] "GET /git/repo/gentoo/info/refs?service=git-upload-pack HTTP/1.1" 200 890 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 0.003
74.125.191.67 - - [01/Feb/2022:11:17:20 +0000] "GET /git/repo/gentoo/info/refs?service=git-upload-pack HTTP/1.1" 200 890 "-" "GoModuleMirror/1.0 (+https://proxy.golang.org)" "-" 0.003

Thanks,

-Alec Warner
[email protected]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions