dubbo icon indicating copy to clipboard operation
dubbo copied to clipboard

[Feature] TotalPendingBytes size overflow Exception

Open caoyanan666 opened this issue 1 year ago • 1 comments

Pre-check

  • [X] I am sure that all the content I provide is in English.

Search before asking

  • [X] I had searched in the issues and found no similar feature requirement.

Apache Dubbo Component

Java SDK (apache/dubbo)

Descriptions

I was called to handle a exception, which is Caused by: io.netty.handler.codec.http2.Http2Exception$StreamException: TotalPendingBytes size overflow for stream: 9 at io.netty.handler.codec.http2.Http2Exception.streamError(Http2Exception.java:151)

I used the triple protocol, and then the flow control intercepted it.

I found that the initialWindowSize of TriHttp2RemoteFlowController is read from the dubbo.rpc.tri.initial-window-size parameter, but the default value is 64KB. However, TripleHttp2Protocol also reads from the environment variable to build Http2Settings, but the nettyServer initWindowSize initialized by TripleHttp2Protocol is 8MB. I now get an error of 64KB in the production environment. I am going to configure it to 1MB, but TripleHttp2Protocol drops from 8MB to 1MB. My question is, why is the value read from an environment variable, the default value of TripleHttp2Protocol is 8MB, but the flow control is only 64KB

Related issues

https://github.com/apache/dubbo/issues/13676

Are you willing to submit a pull request to fix on your own?

  • [X] Yes I am willing to submit a pull request on my own!

Code of Conduct

caoyanan666 avatar Sep 05 '24 11:09 caoyanan666

emm, i think it should be spilit from 'dubbo.rpc.tri.initial-window-size' in TriHttp2RemoteFlowController, details refer to the pr #14657

@AlbumenJ PTAL

JunJieLiu51520 avatar Sep 09 '24 13:09 JunJieLiu51520