From c74cc42e6b1d9c6ca219bdc42e711c9d0a34f7ec Mon Sep 17 00:00:00 2001 From: Wei Fu Date: Tue, 23 Jan 2024 14:10:43 +0800 Subject: [PATCH] fix: linux-amd64-e2e job timeout issue Assume #16916 as baseline. The E2E takes `1395.082s`. * https://github.com/etcd-io/etcd/pull/16988 It introduced `TestAuthority` which takes `18.39s`. And after https://github.com/etcd-io/etcd/pull/16997, it takes `50.05s`. * https://github.com/etcd-io/etcd/pull/16995 It introduced `TestInPlaceRecovery` which takes `17.37s`. * https://github.com/etcd-io/etcd/pull/17144 - New `TestHTTPHealthHandler` takes `29.9s` - New `TestHTTPLivezReadyzHandler` takes `35.20s` * https://github.com/etcd-io/etcd/pull/17173 - New `TestMemberReplace` takes `7.55s`. Ideally, it should increase `140.07s`. It's not larger than `1800s` timeout value. However, we run E2E cases 3 times. By default, we run E2E cases with `-cpu 1,2,4`. That means that we run 3 times. `1395.082s` + `140.07s * 3` = `1815.292s` > `1800s` ```bash $ go help testflag -count n Run each test, benchmark, and fuzz seed n times (default 1). If -cpu is set, run n times for each GOMAXPROCS value. Examples are always run once. -count does not apply to fuzz tests matched by -fuzz. ``` I don't think we should run E2E with different GOMAXPROCS value. All the `TestXYZ` are used to control etcd process and we don't set GOMAXPROCS env to etcd process. Set `CPU=4` to align with main and release/3.5. Closes: #17241 Signed-off-by: Wei Fu --- .github/workflows/tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 16c1aca7296..117bba5c614 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -67,7 +67,7 @@ jobs: ;; linux-amd64-e2e) make install-gofail - GOARCH=amd64 FAILPOINTS='true' make test-e2e-release + GOARCH=amd64 FAILPOINTS='true' CPU='4' make test-e2e-release ;; linux-386-unit) GOARCH=386 make test-unit