internal/worker: schedule fetch of std branch on not found
The worker handler that schedules fetches of supported stdlib branches
has been failing when the version_map table doesn't have the branch.
Schedule a fetch in that case instead, because it indicates that we
need to fetch the branch for the first time.
Change-Id: Ic9b2faff1bd50f9b22d2601eabf6feb3b394e95f
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/349050
Trust: Jonathan Amsterdam <jba@google.com>
Run-TryBot: Jonathan Amsterdam <jba@google.com>
Reviewed-by: Julie Qiu <julie@golang.org>
Reviewed-by: Jamal Carvalho <jamal@golang.org>
diff --git a/internal/worker/server.go b/internal/worker/server.go
index 899caa3..3113827 100644
--- a/internal/worker/server.go
+++ b/internal/worker/server.go
@@ -490,11 +490,17 @@
if err != nil {
return err
}
+ var resolvedVersionDB string
vm, err := s.db.GetVersionMap(r.Context(), stdlib.ModulePath, requestedVersion)
- if err != nil {
+ switch {
+ case err == nil:
+ resolvedVersionDB = vm.ResolvedVersion
+ case errors.Is(err, derrors.NotFound):
+ resolvedVersionDB = ""
+ default:
return err
}
- if vm.ResolvedVersion != resolvedVersion {
+ if resolvedVersionDB != resolvedVersion {
if _, err := s.queue.ScheduleFetch(r.Context(), stdlib.ModulePath, requestedVersion, nil); err != nil {
return fmt.Errorf("error scheduling fetch for %s: %w", requestedVersion, err)
}