Open
Description
Pre-check
- I am sure that all the content I provide is in English.
Search before asking
- I had searched in the issues and found no similar issues.
Apache Dubbo Component
Java SDK (apache/dubbo)
Dubbo Version
dubbo 3.2.12
Steps to reproduce this issue
org.apache.dubbo.remoting.transport.netty4.NettyConnectionClient.ConnectionListener#operationComplete
final EventLoop loop = future.channel().eventLoop();
loop.schedule(
() -> {
try {
connectionClient.doConnect();
} catch (RemotingException e) {
LOGGER.error(
TRANSPORT_FAILED_RECONNECT,
"",
"",
"Failed to connect to server: " + getConnectAddress());
}
},
1L,
TimeUnit.SECONDS);
connectionClient Always fails to connect, default connection wait time is 3 seconds. This will occupy the EventLoop CPU from time to time, and indirectly affect the communication of other registered EventLoop channels. Sometimes there may be a request timeout.
- The server receives the request with a delay.Timely
- server execution is short, client still sometimes timeout.
What you expected to happen
-
Simply handle the connection and wait only for a shorter period of time. For example, 500ms, this way, has been provided. The dead loop body occupies the EventLoop for a long time.
-
It is recommended to add a user thread instead of the EventLoop
Anything else
No response
Are you willing to submit a pull request to fix on your own?
- Yes I am willing to submit a pull request on my own!
Code of Conduct
- I agree to follow this project's Code of Conduct
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
No status