internal/worker: move raw-latest computation to FetchAndUpdateState
To make sure it happens in our integration test.
For golang/go#44437
Change-Id: I0e921b067f6798d108880eae152edc5264168e74
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/296814
Trust: Jonathan Amsterdam <jba@google.com>
Run-TryBot: Jonathan Amsterdam <jba@google.com>
TryBot-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Julie Qiu <julie@golang.org>
diff --git a/internal/worker/fetch.go b/internal/worker/fetch.go
index 4b97088..938d610 100644
--- a/internal/worker/fetch.go
+++ b/internal/worker/fetch.go
@@ -67,6 +67,14 @@
trace.StringAttribute("version", requestedVersion))
defer span.End()
+ // Whenever we fetch a module, make sure its raw latest information is up to
+ // date in the DB.
+ if err := f.fetchAndUpdateRawLatest(ctx, modulePath); err != nil {
+ // Do not fail the fetch just because we couldn't update the raw latest info.
+ log.Errorf(ctx, "updating raw latest: %v", err)
+ derrors.Report(err)
+ }
+
ft := f.fetchAndInsertModule(ctx, modulePath, requestedVersion)
span.AddAttributes(trace.Int64Attribute("numPackages", int64(len(ft.PackageVersionStates))))
diff --git a/internal/worker/server.go b/internal/worker/server.go
index 193da9d..6b21248 100644
--- a/internal/worker/server.go
+++ b/internal/worker/server.go
@@ -305,14 +305,6 @@
if r.FormValue(queue.DisableProxyFetchParam) == queue.DisableProxyFetchValue {
f.ProxyClient = f.ProxyClient.WithFetchDisabled()
}
- // Whenever we fetch a module, make sure its raw latest information is up to
- // date in the DB.
- if err := f.fetchAndUpdateRawLatest(ctx, modulePath); err != nil {
- // Do not fail the fetch just because we couldn't update the raw latest info.
- log.Errorf(ctx, "updating raw latest: %v", err)
- derrors.Report(err)
- }
-
code, resolvedVersion, err := f.FetchAndUpdateState(ctx, modulePath, requestedVersion, s.cfg.AppVersionLabel())
if code == http.StatusInternalServerError {
s.reportError(ctx, err, w, r)