ZHANG Dapeng
ZHANG Dapeng
> ``` > protoc { artifact = 'com.google.protobuf:protoc:4.0.0-rc-2' } > plugins { > grpc { artifact = 'io.grpc:protoc-gen-grpc-java:1.43.1' > } > } > ``` @afshin1394 Why are you using protoc...
Yes, since 1.40, retry is enabled by default, so for client streaming RPC, the outbound messages will be cached in memory (retry buffer) until the call is [committed](https://github.com/grpc/proposal/blob/master/A6-client-retries.md#when-retries-are-valid), unless the...
> isn't the per_rpc_buffer_limit default in Java 1 MB though? The cross-RPC default limit is 16 MB. It seems they have at least 30 MB available Oh, right. That means...
@ejona86 We still need to improve the behavior for InProcessTransport? Does it make sense to call `outboundWireSize()` for InProcess although there is actually no "wire"?
I reopen the issue to track the InProcess payload size report/enable retry issue.
@ejona86 This seems a bug. Looking at the code, I don't really understand the comment https://github.com/grpc/grpc-java/blob/v1.42.1/core/src/main/java/io/grpc/internal/ManagedChannelImpl.java#L418-L422 It seems not true if `enterIdle()` is called even before the resolver gets started.
>> It seems not true if enterIdle() is called even before the resolver gets started. > Why do you say that? NameResolver is initialized in the constructor. Sorry, I mixed...
The channel is initially IDLE and if the [idleTimer](https://github.com/grpc/grpc-java/blob/v1.42.1/core/src/main/java/io/grpc/internal/ManagedChannelImpl.java#L701) expires too soon, it will try to `enterIdleMode()` at the initial IDLE state. I think Spikhalskiy@6d260b8 is the right fix. @ejona86...
> But I'm not sure if it's the right fix or the race should be addressed somewhere inside the `io.grpc.internal.Rescheduler` or `io.grpc.SynchronizationContext`. Because I would expect that > 1. `Rescheduler#cancel(permanent...
Interceptor examples are available in each language github repository.