push
github
Revert "core: Delayed deserialization for unary/server-streaming calls (#13004) (#13107) This reverts commit 8ba4b4872 because this change breaks grpc-kotlin tests that use InProcessTransport by causing a deadlock because [ServerCalls.kt](https://github.com/grpc/grpc-kotlin/blob/master/stub/src/main/java/io/grpc/kotlin/ServerCalls.kt#L214-L215) only requests the next message after `onMessage` delivers the current one, and messages get queued because the client hasn't called `halfClose` yet. When the client halfCloses, `InProcessTransport.halfClose` [defers](https://github.com/grpc/grpc-java/blob/master/inprocess/src/main/java/io/grpc/inprocess/InProcessTransport.java#L904) delivering halfClose if the server's receive queue is non-empty. **Resulting Deadlock:** - `ServerCallImpl` waits for `halfClosed()` before dispatching Message 1. - `InProcessTransport` waits for `call.request(1)` before dispatching `halfClosed()`. - The server waits for Message 1 before calling `call.request(1)`. - The test hangs indefinitely waiting for `closeStatus.await()` until the 10s test timeout expires. There are a few other failures too but those can be fixed in the test code alone. Internal Test failures: http://shortn/_If0NinnwQ4
39216 of 43889 relevant lines covered (89.35%)
0.89 hits per line