-
Notifications
You must be signed in to change notification settings - Fork 9.8k
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
[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. Instructions 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
go.mod
Outdated
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this pull request requires to update deps? If not, please move the changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Thanks
/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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
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)