Skip to content
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/pkgsite: kokoro presubmit test is flaky #59608

Open
hyangah opened this issue Apr 13, 2023 · 2 comments
Open

x/pkgsite: kokoro presubmit test is flaky #59608

hyangah opened this issue Apr 13, 2023 · 2 comments
Labels
NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. pkgsite

Comments

@hyangah
Copy link
Contributor

hyangah commented Apr 13, 2023

observed during go.dev/cl/483757

https://source.cloud.google.com/results/invocations/c9abece0-cec4-4ca0-b03b-48e55f00b2ab/targets/golang%2Fpkgsite%2Fgcp_ubuntu%2Fpresubmit/log

2023/04/12 18:39:56 Critical: fetchFunc(ctx, f, "std", "v1.9.0"): FetchAndUpdateState("std", "v1.9.0", ""): fetchAndInsertModule("std", "v1.9.0"): FetchModule("std", "v1.9.0"): stdlib.ZipInfo("v1.9.0"): semanticVersion("v1.9.0"): stdlib.Versions(): remoteGoRepo.refs: Get "https://go.googlesource.com/go/info/refs?service=git-upload-pack": context deadline exceeded
exit status 1

https://source.cloud.google.com/results/invocations/1e04a480-457f-4f52-a2cf-1167dd4ba62f/targets/golang%2Fpkgsite%2Fgcp_ubuntu%2Fpresubmit/log
Similar timeout issue during screentest.

https://source.cloud.google.com/results/invocations/766b4c7f-c19c-4ed2-8726-d37da0c27b61/targets/golang%2Fpkgsite%2Fgcp_ubuntu%2Fpresubmit/log

2023/04/12 19:22:10 Debug: test-1549 DROP TABLE IF EXISTS ser args=
2023/04/12 19:22:10 Error: {ID:test-1549 Query:DROP TABLE IF EXISTS ser Args: DurationSeconds:9.443e-06 Error:DB running query test-1549: context deadline exceeded}
--- FAIL: TestTransactSerializable (10.01s)
database_test.go:433: max retries: 0

@gopherbot gopherbot added this to the Unreleased milestone Apr 13, 2023
@hyangah hyangah modified the milestones: Unreleased, pkgsite/later Apr 13, 2023
@hyangah hyangah added NeedsFix The path to resolution is known, but the work has not been done. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. and removed NeedsFix The path to resolution is known, but the work has not been done. labels Apr 13, 2023
gopherbot pushed a commit to golang/pkgsite that referenced this issue Apr 14, 2023
Kokoro tests are failing with this arbitrary timeout. Remove it.

Updates golang/go#59608

Change-Id: Ifd3d8cf02d5c14f54e505fa5812e8de7dbc6c5d5
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/484738
TryBot-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
Run-TryBot: Robert Findley <rfindley@google.com>
@gopherbot
Copy link

Change https://go.dev/cl/484738 mentions this issue: internal/fetchdatasource: remove arbitrary test timeout

@hyangah
Copy link
Contributor Author

hyangah commented May 3, 2023

From some of the kokoro failure logs, I observed the system does not only fetch known canonical versions, but also attempts to fetch /@v/main.info and /@v/master.info. (see Fetcher.fetchAndInsertModule). This can
slow down the fetch further - proxy will try to fetch from vcs to serve the latest version @master or @main.

2023/05/02 14:36:44 Info: Fetch requested: "[github.com/hashicorp/vault/api](https://www.google.com/url?q=http://github.com/hashicorp/vault/api&sa=D)" "v1.1.1"
2023/05/02 14:36:44 Warning (map[fetch:[github.com/hashicorp/vault/api@v1.1.1]](https://www.google.com/url?q=http://github.com/hashicorp/vault/api@v1.1.1%5D&sa=D)): fetch.GetInfo(ctx, [github.com/hashicorp/vault/api](https://www.google.com/url?q=http://github.com/hashicorp/vault/api&sa=D), "main", getter, false): [proxy.Client.Info](https://www.google.com/url?q=http://proxy.Client.Info&sa=D)("[github.com/hashicorp/vault/api](https://www.google.com/url?q=http://github.com/hashicorp/vault/api&sa=D)", "main"): Client.readBody("[github.com/hashicorp/vault/api](https://www.google.com/url?q=http://github.com/hashicorp/vault/api&sa=D)", "main", "info"): executeRequest(ctx, "[https://proxy.golang.org/github.com/hashicorp/vault/api/@v/main.info](https://www.google.com/url?q=https://proxy.golang.org/github.com/hashicorp/vault/api/@v/main.info&sa=D)"): "not found: fetch timed out": proxy timed out
...
2023/05/02 14:36:49 Info (map[fetch:[github.com/tendermint/tendermint@v0.34.10]](https://www.google.com/url?q=http://github.com/tendermint/tendermint@v0.34.10%5D&sa=D)): deleted 0 rows from symbol_search_documents
2023/05/02 14:36:50 Info (map[fetch:[github.com/tendermint/tendermint@v0.34.10]](https://www.google.com/url?q=http://github.com/tendermint/tendermint@v0.34.10%5D&sa=D)): Updated module version state for [github.com/tendermint/tendermint@v0.34.10](https://www.google.com/url?q=http://github.com/tendermint/tendermint@v0.34.10&sa=D): code=290, num_packages=153, err=<nil>; timings: db.InsertModule=8.509s, db.UpdateModuleVersionState=0.017s, fetch.FetchModule=4.065s, worker.updatedVersionMap=0.001s
2023/05/02 14:36:50 Info: Fetch requested: "[github.com/tendermint/tendermint](https://www.google.com/url?q=http://github.com/tendermint/tendermint&sa=D)" "v0.34.11"
2023/05/02 14:36:50 Warning (map[fetch:[github.com/tendermint/tendermint@v0.34.11]](https://www.google.com/url?q=http://github.com/tendermint/tendermint@v0.34.11%5D&sa=D)): fetch.GetInfo(ctx, [github.com/tendermint/tendermint](https://www.google.com/url?q=http://github.com/tendermint/tendermint&sa=D), "master", getter, false): [proxy.Client.Info](https://www.google.com/url?q=http://proxy.Client.Info&sa=D)("[github.com/tendermint/tendermint](https://www.google.com/url?q=http://github.com/tendermint/tendermint&sa=D)", "master"): Client.readBody("[github.com/tendermint/tendermint](https://www.google.com/url?q=http://github.com/tendermint/tendermint&sa=D)", "master", "info"): executeRequest(ctx, "[https://proxy.golang.org/github.com/tendermint/tendermint/@v/master.info](https://www.google.com/url?q=https://proxy.golang.org/github.com/tendermint/tendermint/@v/master.info&sa=D)"): "not found: fetch timed out": proxy timed out

Does the screentest depend on the master and main results too? If not, I wonder disabling the fetch (e.g. internal/proxy.Client.WithFetchDisabled) may help reducing the test time. Currently the test often fails with context deadline exceeded (5min deadline).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. pkgsite
Projects
None yet
Development

No branches or pull requests

2 participants