-
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
SingleRequestOrResponseApiTest failure #2399
Comments
https://github.com/apple/servicetalk/actions/runs/3473606914/jobs/5807562170
|
https://github.com/apple/servicetalk/pull/2448/checks?check_run_id=9804682299
|
https://github.com/apple/servicetalk/pull/2487/checks?check_run_id=10612328557
|
https://github.com/apple/servicetalk/actions/runs/4358111113/jobs/7618265865
|
https://github.com/apple/servicetalk/pull/2567/checks?check_run_id=13056028248
|
https://github.com/apple/servicetalk/pull/2691/checks?check_run_id=16739938717
|
https://github.com/apple/servicetalk/runs/17377699234
|
https://github.com/apple/servicetalk/pull/2847/checks?check_run_id=21796187561
|
https://github.com/apple/servicetalk/actions/runs/10933717951/job/30353131351?pr=3058#step:8:1388
|
https://github.com/apple/servicetalk/actions/runs/10959243976/job/30439969588?pr=3061#step:8:873
|
Receiving
|
@bryce-anderson thanks for digging into that! |
@idelpivnitskiy, it looks like the cancel is coming from the |
I'm agreed that |
@idelpivnitskiy and I walked through this a bit more. The code I pointed out above is in the server side, in case that isn't clear. What always happens first is that the Now how to fix it is challenging. Technically we always call close before rendering the INVALID_ARGUMENT response, it's just that most often that ends up being a no-op as described above. Even if we didn't, using the synchronous API's to write the response and then close would be brittle since we don't get guarantees about flushing the response and the channel close will always be eager. Possible solutions
Side noteThis also all connects back to the question of whether we should close the whole stream on cancelling the inbound publisher: I don't think we should but that opens the door to stream leaks for people who have failed to properly close the outbound publisher (or it's writer representation for the synchronous API's). |
💯 I'm agreed with relaxing the test assertions. |
https://github.com/apple/servicetalk/actions/runs/3260145231/jobs/5353531124
The text was updated successfully, but these errors were encountered: