[3.4] member replace e2e test#17173
Conversation
|
Hi @ZhouJianMS. Thanks for your PR. I'm waiting for a etcd-io member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
Does anyone know why 3.4 branch always show that "no tests to run" in local test? I have not encountered similar issue in 3.5 and main branch. |
|
@ZhouJianMS I think there is no |
3da1a1f to
bf9d6bf
Compare
| golang.org/x/sys v0.14.0 | ||
| golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2 | ||
| google.golang.org/grpc v1.58.3 | ||
| google.golang.org/grpc v1.59.0 |
There was a problem hiding this comment.
this pull request requires to update deps? If not, please move the changes.
There was a problem hiding this comment.
The deps updates were introduced by running "make" command locally. I have removed them but found that TestWatchDelayForEvent always timeout. I think my change does not have any impact on it.
Failed jobs: https://github.com/etcd-io/etcd/actions/runs/7469684403/job/20327175916?pr=17173
b253b15 to
c25b338
Compare
Signed-off-by: ZhouJianMS <zhoujian@microsoft.com>
c25b338 to
2f8d7d0
Compare
|
/retest |
|
I think it's about timeout. We need to increase |
I would be opposed from blindly increasing the test timeout on pull request testing. I think the time of test execution is important part of user experience. For me even the 30 minutes is not great. If this is not an issue with this PR, but a problem of consistently hitting the limit, we should consider analysing the e2e test scenario and reducing the time. |
Agree. But checked out all the failure cases and last 4 rounds were timeout issue. |
Assume etcd-io#16916 as baseline. The E2E takes `1395.082s`. * etcd-io#16988 It introduced `TestAuthority` which takes `18.39s`. And after etcd-io#16997, it takes `50.05s`. * etcd-io#16995 It introduced `TestInPlaceRecovery` which takes `17.37s`. * etcd-io#17144 - New `TestHTTPHealthHandler` takes `29.9s` - New `TestHTTPLivezReadyzHandler` takes `35.20s` * etcd-io#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. ```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. So, we don't need `-cpu` setting for E2E. Closes: etcd-io#17241 Signed-off-by: Wei Fu <fuweid89@gmail.com>
Assume etcd-io#16916 as baseline. The E2E takes `1395.082s`. * etcd-io#16988 It introduced `TestAuthority` which takes `18.39s`. And after etcd-io#16997, it takes `50.05s`. * etcd-io#16995 It introduced `TestInPlaceRecovery` which takes `17.37s`. * etcd-io#17144 - New `TestHTTPHealthHandler` takes `29.9s` - New `TestHTTPLivezReadyzHandler` takes `35.20s` * etcd-io#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. So, we don't need `-cpu` setting for E2E. Closes: etcd-io#17241 Signed-off-by: Wei Fu <fuweid89@gmail.com>
Assume etcd-io#16916 as baseline. The E2E takes `1395.082s`. * etcd-io#16988 It introduced `TestAuthority` which takes `18.39s`. And after etcd-io#16997, it takes `50.05s`. * etcd-io#16995 It introduced `TestInPlaceRecovery` which takes `17.37s`. * etcd-io#17144 - New `TestHTTPHealthHandler` takes `29.9s` - New `TestHTTPLivezReadyzHandler` takes `35.20s` * etcd-io#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: etcd-io#17241 Signed-off-by: Wei Fu <fuweid89@gmail.com>
Assume etcd-io#16916 as baseline. The E2E takes `1395.082s`. * etcd-io#16988 It introduced `TestAuthority` which takes `18.39s`. And after etcd-io#16997, it takes `50.05s`. * etcd-io#16995 It introduced `TestInPlaceRecovery` which takes `17.37s`. * etcd-io#17144 - New `TestHTTPHealthHandler` takes `29.9s` - New `TestHTTPLivezReadyzHandler` takes `35.20s` * etcd-io#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: etcd-io#17241 Signed-off-by: Wei Fu <fuweid89@gmail.com>
Follow up: #17079 (comment)