We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
问题描述:目前keep_alive_time功能实现依赖于stream的最后读写操作时间(last_rw_time),如果now - last_rw_time > keep_alive_time,则认为连接的空闲时间超过阈值,就会主动关闭stream。但是这样可能**产生误杀**:如果一个连接上正在处理一个请求,而这个请求的处理时间很长(大于keep_alive_time),并且在等待处理完成的这段时间中stream上没有发生读写,则stream也会被提前关闭,造成请求处理完成后无法response,这是不合理的。
解决办法:对RpcClientStream和RpcServerStream各自维护pending_process_count值,如果pending_process_count > 0,则stream不能被关闭。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
问题描述:目前keep_alive_time功能实现依赖于stream的最后读写操作时间(last_rw_time),如果now - last_rw_time > keep_alive_time,则认为连接的空闲时间超过阈值,就会主动关闭stream。但是这样可能**产生误杀**:如果一个连接上正在处理一个请求,而这个请求的处理时间很长(大于keep_alive_time),并且在等待处理完成的这段时间中stream上没有发生读写,则stream也会被提前关闭,造成请求处理完成后无法response,这是不合理的。
解决办法:对RpcClientStream和RpcServerStream各自维护pending_process_count值,如果pending_process_count > 0,则stream不能被关闭。
The text was updated successfully, but these errors were encountered: