-
Notifications
You must be signed in to change notification settings - Fork 181
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
ResponseCancelTest #2297
Labels
flaky tests
Unit tests are flaky
Comments
https://github.com/apple/servicetalk/runs/7769023858
|
https://github.com/apple/servicetalk/runs/8083042325
|
snapshot build failure after updating to Netty 4.1.80
|
idelpivnitskiy
added a commit
to idelpivnitskiy/servicetalk
that referenced
this issue
Aug 31, 2022
Motivation: apple#2297 indicates that `ResponseCancelTest` sometimes fails. It happens because we incorrectly request signals from `delayedClientTermination` queue. After cancel we may or may not see a terminal event. In rare cases, `StacklessClosedChannelException` is propagated to the subscriber after cancel. The next request does not assume that there is a pending `ClientTerminationSignal` in the queue and considers this exception as failure for a new request. Modifications: - Introduce a `requestId` to associate `ClientTerminationSignal` with a proper request; - Discard signals for prior requests inside `resume` logic; - Wrap `signal.err` with `AssertionError` to preserve a caller stack trace; Result: Fixes apple#2297.
idelpivnitskiy
added a commit
to idelpivnitskiy/servicetalk
that referenced
this issue
Sep 28, 2022
Motivation: apple#2297 indicates that `ResponseCancelTest` sometimes fails. It happens because we incorrectly request signals from `delayedClientTermination` queue. After cancel we may or may not see a terminal event. In rare cases, `StacklessClosedChannelException` is propagated to the subscriber after cancel. The next request does not assume that there is a pending `ClientTerminationSignal` in the queue and considers this exception as failure for a new request. Modifications: - Introduce a `requestId` to associate `ClientTerminationSignal` with a proper request; - Discard signals for prior requests inside `resume` logic; - Wrap `signal.err` with `AssertionError` to preserve a caller stack trace; Result: Fixes apple#2297.
idelpivnitskiy
added a commit
that referenced
this issue
Sep 29, 2022
Motivation: #2297 indicates that `ResponseCancelTest` sometimes fails. It happens because we incorrectly request signals from `delayedClientTermination` queue. After cancel we may or may not see a terminal event. In rare cases, `StacklessClosedChannelException` is propagated to the subscriber after cancel. The next request does not assume that there is a pending `ClientTerminationSignal` in the queue and considers this exception as failure for a new request. Modifications: - Introduce a `requestId` to associate `ClientTerminationSignal` with a proper request; - Discard signals for prior requests inside `resume` logic; - Wrap `signal.err` with `AssertionError` to preserve a caller stack trace; Result: Fixes #2297.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
https://github.com/apple/servicetalk/runs/7573293427
possibly related: #952
The text was updated successfully, but these errors were encountered: