Skip to content
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

[chttp2] fix stream leak with queued flow control update and absence of writes #30907

Merged
merged 58 commits into from
Sep 14, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
c1ec307
add test
apolcyn Sep 9, 2022
28077ff
Add build rule
apolcyn Sep 9, 2022
b47cc55
regen
apolcyn Sep 9, 2022
4437807
debugging test
apolcyn Sep 9, 2022
33b5f9b
debugging
apolcyn Sep 9, 2022
e6d285b
test works now
apolcyn Sep 9, 2022
e786bbf
fix bug
apolcyn Sep 9, 2022
168e8f7
cleanup
apolcyn Sep 9, 2022
7246f7a
cleanup
apolcyn Sep 9, 2022
3280b19
cleanup
apolcyn Sep 9, 2022
b821f5c
cleanup
apolcyn Sep 9, 2022
9ff9909
fix
apolcyn Sep 9, 2022
760f951
format
apolcyn Sep 9, 2022
554da86
Fix copyright
apolcyn Sep 9, 2022
5519f69
iwyu
apolcyn Sep 9, 2022
635c454
format
apolcyn Sep 9, 2022
8c9fe96
Fix server shutdown for windows
apolcyn Sep 9, 2022
d5177a3
iwyu
apolcyn Sep 9, 2022
30e4750
Foramt
apolcyn Sep 9, 2022
45d1a51
cleanup
apolcyn Sep 9, 2022
f8d1a8a
format
apolcyn Sep 9, 2022
7fa110f
add fix back in
apolcyn Sep 9, 2022
fd23a0b
add debug logs
apolcyn Sep 12, 2022
b4d9bc0
temporarily remove fix
apolcyn Sep 12, 2022
0607174
debuggin
apolcyn Sep 12, 2022
2b08129
debug logs with tweak to test
apolcyn Sep 12, 2022
2f84112
tweak test to receive two message in a row
apolcyn Sep 12, 2022
5db15f9
logs
apolcyn Sep 12, 2022
a401557
disable bdp pings at the client
apolcyn Sep 12, 2022
6c89efe
remove mock since we don't need it
apolcyn Sep 12, 2022
6e4eace
address comments, fix comments
apolcyn Sep 13, 2022
6cc24fb
make test hit bug again
apolcyn Sep 13, 2022
27396c0
add comment
apolcyn Sep 13, 2022
57f78ee
remove logs
apolcyn Sep 13, 2022
01b09a8
Revert "temporarily remove fix"
apolcyn Sep 13, 2022
8f7e0af
revert typo
apolcyn Sep 13, 2022
661ff2e
format
apolcyn Sep 13, 2022
7631c4d
iwyu
apolcyn Sep 13, 2022
a0e06e5
formaat
apolcyn Sep 13, 2022
46048d2
add log
apolcyn Sep 13, 2022
8db7265
Revert "remove logs"
apolcyn Sep 13, 2022
2e65104
add more debug logs
apolcyn Sep 13, 2022
9bf5658
add debug logs and start revising test to catch initial bug at least
apolcyn Sep 13, 2022
a265ac0
making progress
apolcyn Sep 13, 2022
fc0a564
test repros issue fixed by original fix
apolcyn Sep 13, 2022
35eda71
temporarily remove fix
apolcyn Sep 13, 2022
8bb0ce6
test is much better now
apolcyn Sep 13, 2022
1107c34
improve test
apolcyn Sep 13, 2022
1b479b5
more comments to test
apolcyn Sep 13, 2022
ebcc92c
revert original fix
apolcyn Sep 13, 2022
47d520f
fix up test, add comments
apolcyn Sep 13, 2022
50db46d
iwyu
apolcyn Sep 13, 2022
4eed12e
Format
apolcyn Sep 13, 2022
85b5aba
remove debug logs
apolcyn Sep 13, 2022
0e19d28
fix comments
apolcyn Sep 13, 2022
766e489
Fix up comments
apolcyn Sep 13, 2022
330cab5
fix leak in test
apolcyn Sep 13, 2022
aa402fd
remove unused var
apolcyn Sep 13, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
36 changes: 36 additions & 0 deletions CMakeLists.txt

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions build_autogenerated.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -2314,7 +2314,7 @@ void grpc_chttp2_act_on_flowctl_action(
grpc_chttp2_transport* t, grpc_chttp2_stream* s) {
WithUrgency(t, action.send_stream_update(),
GRPC_CHTTP2_INITIATE_WRITE_STREAM_FLOW_CONTROL, [t, s]() {
if (s->id != 0) {
if (s->id != 0 && !s->read_closed) {
grpc_chttp2_mark_stream_writable(t, s);
}
});
Expand Down
14 changes: 14 additions & 0 deletions test/core/transport/chttp2/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -277,3 +277,17 @@ grpc_cc_test(
"//test/core/util:grpc_test_util",
],
)

grpc_cc_test(
name = "stream_leak_with_queued_flow_control_update_test",
srcs = ["stream_leak_with_queued_flow_control_update_test.cc"],
external_deps = [
"gtest",
],
language = "C++",
deps = [
"//:gpr",
"//:grpc",
"//test/core/util:grpc_test_util",
],
)