You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
When listing available versions for certain modules, vcsLister.List() can sometimes take several minutes to execute. I would like to configure a timeout on that operation so proxy users aren't stuck waiting that long for a response.
Describe the solution you'd like
Have the vcsLister respect the existing ATHENS_TIMEOUT setting already used by storage backends.
Describe alternatives you've considered
None
Additional context
Run go list -m -versions -json github.com/aws/aws-sdk-go-v2/credentials/v2@latest to see an example of one such module that takes a really long time to list versions for.
Here's a trace from athens for that same module:
The text was updated successfully, but these errors were encountered:
I actually like the idea of having a timeout for this. I recently stumbled upon a similar situation.
Just to give a quick comparison, Go's official module proxy mirror responds almost immediately when we do: https://proxy.golang.org/github.com/grpc-ecosystem/grpc-gateway/v3/@v/list (404)
On the other hand, https://athens.private.com/github.com/grpc-ecosystem/grpc-gateway/v3/@v/list took ~9s to return 200. For bigger modules like aws-sdk-go, it could take much longer as you described.
Response code aside, I'm not sure if Athens wants to do the same thing here. Maybe others can chime in.
Anyway, @colinodell i see that you're using Renovate for this from your user-agent. Here's how I reduced the response wait time when using Renovate (35.138.1-slim):
hostRules: [
{
hostType: "go-proxy",description: "Avoid waiting 1 min/req to wait for go-proxy to respond if a module version list does not exist",timeout: 5000, // milliseconds
},
],
I hope this can temporarily relieve the wait a bit for your use case
Is your feature request related to a problem? Please describe.
When listing available versions for certain modules,
vcsLister.List()
can sometimes take several minutes to execute. I would like to configure a timeout on that operation so proxy users aren't stuck waiting that long for a response.Describe the solution you'd like
Have the vcsLister respect the existing
ATHENS_TIMEOUT
setting already used by storage backends.Describe alternatives you've considered
None
Additional context
Run
go list -m -versions -json github.com/aws/aws-sdk-go-v2/credentials/v2@latest
to see an example of one such module that takes a really long time to list versions for.Here's a trace from athens for that same module:
The text was updated successfully, but these errors were encountered: