Skip to content

Fix Gitaly N+1 calls in Go proxy

The Go proxy list resource, /projects/:id/packages/go/:module_name/@v/list, iterates over Repository#tags and calls Repository#blob_at potentially for every tag.

#221109 and #221112 would solve this by providing a way to A) locate go.mod (or path/to/go.mod) across every relevant ref and B) fetch all of those go.mod files. This would reduce the number of Gitaly calls from N+1 to 3.

Edited by Ethan Reesor