Skip to content
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

Go 1.22 support #1920

Closed
hanzo opened this issue Mar 12, 2024 · 2 comments
Closed

Go 1.22 support #1920

hanzo opened this issue Mar 12, 2024 · 2 comments
Labels
awaiting reply Used in issues when a maintainer is waiting for a reply. triage Issues that need to be verified

Comments

@hanzo
Copy link

hanzo commented Mar 12, 2024

Describe the bug
I'm running into issues with Athens when trying to download modules that specify go 1.22 as their go directive.

Error Message

When running Athens on an image with Go 1.21 installed, I see the following error when Athens tries to download a module that specifies go 1.22 as its go directive:

```console
exit status 1: go: loading module retractions for github.com/foo/bar@v1.2.0: module github.com/foo/bar@v1.2.0 requires go >= 1.22 (running go 1.21.7)
```

When running Athens on an image with Go 1.22 installed, the previous error does not occur but the performance of Athens is severely degraded. When a single repo makes a series of requests to Athens (e.g. by running go mod tidy from a fresh clone) I'm seeing CPU spike to 80-90% and it takes a few minutes to download dependencies, while the same operation previously took less than a minute.

To Reproduce
Steps to reproduce the behavior:
Call Athens proxy to download any go module with go 1.22 in its go directive, e.g. https://github.com/achille-roussel/sqlrange/blob/d51fe227ca2014e7c14492acbf1e59fc6c514a41/go.mod#L3

Environment (please complete the following information):

  • OS: Linux 64bit
  • Go version : 1.21.7 and 1.22.1
  • Proxy version : v0.13.1
  • Storage (fs/mongodb/s3 etc.) : s3
@matt0x6F
Copy link
Contributor

matt0x6F commented Mar 20, 2024

Hey, I wasn't able to reproduce this locally. I ran 0.13.1 built with Go 1.20 in my test setup and saw these logs:

dev-1  |        http-method=GET http-path=/github.com/@v/list request-id=61c9dab1-7e97-4fa5-ac91-b99020f7cb3f 
dev-1  | INFO[12:09AM]: incoming request        http-method=GET http-path=/github.com/@v/list http-status=404 request-id=61c9dab1-7e97-4fa5-ac91-b99020f7cb3f 
dev-1  | INFO[12:09AM]: incoming request        http-method=GET http-path=/github.com/matt0x6f/athens-test-repo/@v/list http-status=200 request-id=951c6c55-7edb-4e88-948d-a18e69fa871c 
dev-1  | INFO[12:09AM]: incoming request        http-method=GET http-path=/github.com/matt0x6f/athens-test-repo/@latest http-status=200 request-id=dc04a71a-9816-4fbc-be2b-c977b6efde56 

Here's my test remote repository: https://github.com/matt0x6F/athens-test-repo/
Here's my test local repository: https://github.com/matt0x6F/athens-local (notice .vscode/settings.json)

@matt0x6F matt0x6F added question Further information is requested triage Issues that need to be verified labels Mar 20, 2024
@matt0x6F matt0x6F added awaiting reply Used in issues when a maintainer is waiting for a reply. and removed question Further information is requested labels Apr 9, 2024
@matt0x6F
Copy link
Contributor

Closing this issue due to inactivity. Reopen if you've got updates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting reply Used in issues when a maintainer is waiting for a reply. triage Issues that need to be verified
Projects
None yet
Development

No branches or pull requests

2 participants