-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
"Wait" is overly used in e2e/conformance #1178
Comments
Sent out a PoC (linked above). |
Every check we perform shouldn't be a WaitFor; we should WaitFor readiness and then assert things work in-the-now. This creates parallel methods for checking things, which has the same signature as their `WaitFor` siblings. This uses these methods for the recently sunk checks in the routing conformance test. Related: #1178
It is notable that the small change I made in the PoC above caught a bug I almost introduced in #1322. /kind API |
Issues go stale after 90 days of inactivity. Send feedback to Knative Productivity Slack channel or file an issue in knative/test-infra. /lifecycle stale |
Stale issues rot after 30 days of inactivity. Send feedback to Knative Productivity Slack channel or file an issue in knative/test-infra. /lifecycle rotten |
Rotten issues close after 30 days of inactivity. Send feedback to Knative Productivity Slack channel or file an issue in knative/test-infra. /close |
@knative-housekeeping-robot: Closing this issue. In response to this:
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. |
/reopen |
@vagababov: Reopened this issue. In response to this:
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. |
Rotten issues close after 30 days of inactivity. Send feedback to Knative Productivity Slack channel or file an issue in knative/test-infra. /close |
/lifecycle frozen |
Is it enough to just scan for occurrences of Wait() and see if there is extra state checking that can be done? |
This history of this is that "Ready" didn't used to mean "Ready", so we'd wait for Ready and then we'd wait for it to really be ready. Things like this should be "Check" not "WaitFor" because we already waited for Ready, and that should mean something:
I'd probably start with the TODOs, but in general |
Sounds good. thanks for the info! If I have spare cycles I think this sounds interesting to pick up,. |
FWIW this is related: #5573. Sadly we still haven't fixed that downstream. |
Here's a great example fwiw: serving/test/conformance/api/v1/single_threaded_test.go Lines 54 to 55 in 20616d5
|
This probably either needs a target list or some other explicit criteria on when it can be closed. /assign @dprotaso /triage needs-user-input |
/unassign @dprotaso |
@dprotaso: GitHub didn't allow me to assign the following users: at, this, will, take, a, look. Note that only knative members, repo collaborators and people who have commented on this issue/PR can be assigned. Additionally, issues/PRs can only have 10 assignees at the same time. In response to this:
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. |
/remove-triage needs-user-input |
The conformance (and possibly e2e) tests have a number of checks that poll for success. This masks problems where we say we're
Ready
but aren't actually.We should change the e2e test to use
Wait
methods a bit more sparingly and then concretely check the state of the system.If this is too flaky, we can consider adding retries, but the idea of "Wait" feels wrong to me.
/assign @mattmoor
I'll see how flaky this is after we get it re-enabled with Wait in place.
The text was updated successfully, but these errors were encountered: