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]

Reply via email to