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
x/build/cmd/gitmirror: not mirroring some subrepos at this time #32931
Comments
Seems gofrontend repo mirroring also stopped. |
Yes, that's one of the affected subrepos as well. The earlier analysis overlooked that there's another code path to mirror repos that talks to Gerrit API directly via instead of the build dashboard: The problem seems to be there. I added a log statement to see the value of meta, err := gerritClient.GetProjects(ctx, "master")
if err != nil {
+ log.Println("gerritClient.GetProjects:", err)
return nil
} And got an 404 error. That's unexpected and I suspect is the source of the problem.
I think there's been some change with Gerrit and/or Gitilies and/or the frontend that routes traffic in between them. While |
I'll update the Gerrit client in We can investigate and decide on follow up actions after. |
Change https://golang.org/cl/184922 mentions this issue: |
I've deployed CL 184922 to test it and it fixed this issue. All other subrepos are being mirrored now: Repo List
As another followup item here, we should check if any other services are depending on a Gerrit API URL without the "-review" part, as they're likely to be affected too. I'm not aware of any at the moment. |
Thanks, @dmitshur |
Thanks to @toothrot as well for helping investigate this issue. |
I've checked the importers of I also checked the importers of |
Using "https://go.googlesource.com" without "-review" as the Gerrit API URL no longer works. Use "https://go-review.googlesource.com" instead. This is the canonical Gerrit API URL for the Go project, and it's already being used in many other places in x/build. Return and handle errors from gerritMetaMap. Make it so gitmirror treats an error from gerritMetaMap on startup as fatal, otherwise it would have started in an incorrect state. While running, skip transient errors from gerritMetaMap as before, but also log them when they happen. Remove unneeded trailing slashes from the Gerrit API URLs in packages maintner/maintnerd and maintner/maintnerd/maintapi for consistency. This is a no-op as the gerrit client library used to trim them anyway. Fixes golang/go#32931 Change-Id: Icc20b798946d6317ee89533691f92b1f4d1564f0 Reviewed-on: https://go-review.googlesource.com/c/build/+/184922 Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alexander Rakoczy <alex@golang.org>
The
gitmirror
service was redeployed recently and it's currently mirroring the following repositories:(I got that list by port forwarding its HTTP port to my machine via
kubectl port-forward <gitmirror pod name> 8585:8585
.)There are a few smaller subrepos missing, for example, mod, xerrors, website, build, playground.
The issue seems to be that the build dashboard is serving a subset of subrepos at its https://build.golang.org/packages?kind=subrepo endpoint, and gitmirror uses that endpoint to find a list of all subrepos to consider mirroring (see here). So we need to resolve the issue in the build dashboard, then redeploy gitmirror so it picks up the change.
/cc @toothrot @andybons
The text was updated successfully, but these errors were encountered: