Yelijah opened a new issue, #813: URL: https://github.com/apache/rocketmq-clients/issues/813
### Before Creating the Bug Report - [X] I found a bug, not just asking a question, which should be created in [GitHub Discussions](https://github.com/apache/rocketmq-clients/discussions). - [X] I have searched the [GitHub Issues](https://github.com/apache/rocketmq-clients/issues) and [GitHub Discussions](https://github.com/apache/rocketmq-clients/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 client: macos intel cpu server: docker ### RocketMQ Version of the Client/Server client: 5.1.4 server: 5.1.4 2m-2s broker with controller mode <img width="588" alt="image" src="https://github.com/user-attachments/assets/780d460b-c7bb-48e4-9849-e7ab651a51e2"> ### Run or Compiler Version _No response_ ### Describe the Bug sometimes, java client cann't create a producer or consumer with error like: ``` 2024/08/12 15:35:59 ProducerImpl-0 STARTING INFO [org.apache.rocketmq.client.java.impl.ClientImpl] Begin to fetch topic(s) route data from remote during client startup, clientId=ElijahMBP19.local@52784@0@evtkmbsvs, topics=[fine_mq_normalQueue] 2024/08/12 15:36:00 rocketmq-queue-async-rpc-3-worker-3 ERROR [org.apache.rocketmq.client.java.impl.ClientImpl] Failed to fetch topic route, clientId=ElijahMBP19.local@52784@0@evtkmbsvs, topic=fine_mq_normalQueue java.lang.IllegalArgumentException: Message type is not specified at org.apache.rocketmq.client.java.message.MessageType.fromProtobuf(MessageType.java:38) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.client.java.route.MessageQueueImpl.<init>(MessageQueueImpl.java:43) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.client.java.route.TopicRouteData.<init>(TopicRouteData.java:48) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.client.java.impl.ClientImpl.lambda$fetchTopicRoute0$6(ClientImpl.java:625) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.doTransform(AbstractTransformFuture.java:221) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.doTransform(AbstractTransformFuture.java:208) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractTransformFuture.run(AbstractTransformFuture.java:122) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:1270) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:1038) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:783) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.stub.ClientCalls$GrpcFuture.set(ClientCalls.java:569) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:542) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:563) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:70) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:744) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:723) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) ~[fine-essential-2.0.0.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_265] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_265] at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_265] 2024/08/12 15:36:00 ProducerImpl-0 STARTING ERROR [org.apache.rocketmq.client.java.impl.producer.ProducerImpl] Failed to start the rocketmq producer, try to shutdown it, clientId=ElijahMBP19.local@52784@0@evtkmbsvs java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Message type is not specified at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:588) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:567) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.com.google.common.util.concurrent.FluentFuture$TrustedFuture.get(FluentFuture.java:91) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.client.java.impl.ClientImpl.startUp(ClientImpl.java:192) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.client.java.impl.producer.ProducerImpl.startUp(ProducerImpl.java:115) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.com.google.common.util.concurrent.Callables.lambda$threadRenaming$3(Callables.java:103) ~[fine-essential-2.0.0.jar:?] at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_265] Caused by: java.lang.IllegalArgumentException: Message type is not specified at org.apache.rocketmq.client.java.message.MessageType.fromProtobuf(MessageType.java:38) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.client.java.route.MessageQueueImpl.<init>(MessageQueueImpl.java:43) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.client.java.route.TopicRouteData.<init>(TopicRouteData.java:48) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.client.java.impl.ClientImpl.lambda$fetchTopicRoute0$6(ClientImpl.java:625) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.doTransform(AbstractTransformFuture.java:221) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.doTransform(AbstractTransformFuture.java:208) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractTransformFuture.run(AbstractTransformFuture.java:122) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:1270) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:1038) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:783) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.stub.ClientCalls$GrpcFuture.set(ClientCalls.java:569) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:542) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:563) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:70) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:744) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:723) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) ~[fine-essential-2.0.0.jar:?] at org.apache.rocketmq.shaded.io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) ~[fine-essential-2.0.0.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_265] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_265] ... 1 more ``` But the target topic 's messegeType is normal: <img width="1106" alt="image" src="https://github.com/user-attachments/assets/ddc521f9-ed85-49f9-94aa-aeb270bf78cf"> ### Steps to Reproduce 1. prepare 2m-2s rocketmq cluster with controller 2. create a topic with any messageType 3. java client build a producer in the topic above. Sometimes then some error happens. ### What Did You Expect to See? java client create produce or consumer successfully. ### What Did You See Instead? java client create produce or consumer error. ### Additional Context _No response_ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
