-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
Flaky test: Test/ServerSideXDS_ServingModeChanges #4403
Comments
Currently in the I see the following initially:
I'm going to send a PR which moves the resource creation on the management server to happen before the xDS enabled gRPC server starts serving. |
Shouldn't the xDS+gRPC server get the data after it is added, however? This log is printed after only 1ms of test execution. |
Technically it should. But we don't see it here. Maybe some bug in the go-control-plane. |
Then #4406 is more of a workaround than a fix. If we don't know what's actually going on here, we should leave this open to investigate, or file a new issue. |
Keeping this open as #4406 is more of a workaround. |
Another failed run: |
Complete paste of the failing test's log to avoid the extra step of retrieving it from GA.
|
The above also seems to be a result of envoyproxy/go-control-plane#431. It is a little unclear to me though as to why we eventually see those resources from the server after the test times out (after |
Saw again in #4511 |
I think the problem could be as follows: Two listener resources are added to the management server, update is received by the gRPC server, both listeners move to
The test makes couple of calls to Then, we remove one of the listener resources. gRPC server gets the update, and one of the listener moves to
At this point, the test make only one call to
this means that the Then, the test removes the second listener resource as well, and this update is also received by the gRPC server, but when the This means that the test while waiting for the second listener to also move to
But, at this point, I don't understand why this only happens sometimes and not all the time. |
See analysis in #4689. I believe this is an actual bug, not a test mistake. Okay, I think I see what's happening. When we send this update here: grpc-go/xds/internal/test/xds_server_serving_mode_test.go Lines 187 to 190 in 8ab16ef
Even though the listener resource is not modified, an update comes to the xds client and to the first You can make this failure happen reliably by adding a 2 second sleep after sending the update that removes the second listener. I also locally deleted the second listener entirely from this test case, which may help with debugging (and unless there is a strong reason to have both intermingled in the same test, we may want to separate these test cases in the future). |
Should be fixed by #4689. |
Saw this fail on 1.17:
|
Should be fixed by #4712. |
Seeing more of this still: https://github.com/grpc/grpc-go/runs/6531255144?check_suite_focus=true |
Hasn't flaked in a long time. |
See: https://github.com/grpc/grpc-go/pull/4398/checks?check_run_id=2531253416#step:8:189
The text was updated successfully, but these errors were encountered: