Open Yelijah opened 3 weeks ago
when proxy is in cluster mode, anything works ok.
I add some breakpoint and logs in java client. And find some problems:
2024/08/26 23:16:52 rocketmq-queue-async-rpc-3-worker-3 INFO [basic] onTopicRouteDataFetched routeEndpoints:[ipv4:192.168.101.128:18181, ipv4:192.168.101.219:18181] existRouteEndpoints:[]
2024/08/26 23:16:52 rocketmq-queue-async-rpc-3-worker-3 INFO [basic] getClientSession endpoints=ipv4:192.168.101.128:18181
2024/08/26 23:16:52 rocketmq-queue-async-rpc-3-worker-3 INFO [basic] getClientSession endpoints=ipv4:192.168.101.219:18181
broker's endpoints got by ClientManager#queryRoute are two dependent address, not like "ipv4:192.168.101.128:18181;ipv4:192.168.101.219:18181".
Then ClientImpl#getClientSession will try to connect to every endpoint adress. if one of the two proxy(broker) is crahsed, the client connected error and shutdown!
But when proxy nodes are in cluster mode(dependant with broker) , broker's endpoint got by ClientManager#queryRoute is just one union adress like "ipv4:192.168.101.128:18181;ipv4:192.168.101.219:18181"
Before Creating the Bug Report
[X] I found a bug, not just asking a question, which should be created in GitHub Discussions.
[X] I have searched the GitHub Issues and GitHub Discussions of this repository and believe that this is not a duplicate.
[X] I have confirmed that this bug belongs to the current repository, not other repositories of RocketMQ.
Programming Language of the Client
Java
Runtime Platform Environment
macos
RocketMQ Version of the Client/Server
server:5.1.4 client: all version was tested.
Run or Compiler Version
No response
Describe the Bug
rocketmq server: 2master 2slave, proxy is in local mode.
when rocketmq server has many proxy nodes and the client addressed all of them, then if one proxy was crashed, the client (both proxy and consumer)can't start also!
the rocketmq client error log is:
Does it mean grpc client is not a highly available design??? It's too dangerous!!!
Steps to Reproduce
just like above.
What Did You Expect to See?
the client start successfully if any of proxy is alive.
What Did You See Instead?
the client start failed if any of proxy is dead.
Additional Context
No response