Commit 8d49dc1
authored
okhttp: Fix race condition overwriting MAX_CONCURRENT_STREAMS (#12548)
### What this PR does
This PR fixes a race condition in `OkHttpClientTransport` where
`MAX_CONCURRENT_STREAMS` sent by the server could be incorrectly
overwritten by the client's default initialization.
The fix simply reorders the initialization to happen **before** starting
the reader thread, ensuring that any updates from the server are
preserved.
### Note on Testing
I attempted to add a deterministic reproduction test, but reliably
simulating this specific race condition proved difficult without
intrusive changes.
I request reviewers to primarily verify the logical correctness of the
reordering. I am open to collaborating with the team to develop a
suitable test case if required.
### Future Work
This PR covers **Step 1** (Fixing the race condition) of the plan
discussed in #11985.
I plan to follow up with **Step 2** (Adding assertions to verify no
pending streams exist) in a separate PR.
Part of #119851 parent b1a94a4 commit 8d49dc1
File tree
1 file changed
+3
-3
lines changed- okhttp/src/main/java/io/grpc/okhttp
1 file changed
+3
-3
lines changedLines changed: 3 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
800 | 800 | | |
801 | 801 | | |
802 | 802 | | |
803 | | - | |
804 | | - | |
805 | | - | |
806 | 803 | | |
807 | 804 | | |
808 | 805 | | |
809 | 806 | | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
810 | 810 | | |
811 | 811 | | |
812 | 812 | | |
| |||
0 commit comments