org.apache.rocketmq.remoting.exception.RemotingTimeoutException: invokeSync call timeout

==问题==

在本地Debug调试Flink消费RocketMQ数据的时候,提示如下错误

2020-07-23 16:11:31 [----rexel----] INFO  com.rexel.stream.flink.proc.CheckAlarm - [------]ruleDetailMap.size=2
2020-07-23 16:11:31 [----rexel----] INFO  com.rexel.stream.flink.proc.CheckAlarm - ruleDetail=RuleDetail(ruleId=44, productKey=a1B6t6ZG6oR, deviceName=RexelLabDevice1, point=AI01_0001, judge=>, value=4700.0)
2020-07-23 16:11:31 [----rexel----] INFO  com.rexel.stream.flink.proc.CheckAlarm - ruleDetail=RuleDetail(ruleId=45, productKey=a1B6t6ZG6oR, deviceName=RexelLabDevice1, point=AI01_0002, judge=<, value=100.0)
2020-07-23 16:11:31 [----rexel----] INFO  com.rexel.stream.flink.proc.CheckAlarm - [------]ruleDetailMap.size=2
2020-07-23 16:11:34 [----rexel----] INFO  org.apache.flink.runtime.taskmanager.Task - Source: rmq_app_notice (1/4) (ffc874afb03b8b9d24c0697813a48a75) switched from RUNNING to FAILED.
java.lang.IllegalStateException: org.apache.rocketmq.remoting.exception.RemotingTimeoutException: invokeSync call timeout
    at org.apache.rocketmq.client.impl.factory.MQClientInstance.updateTopicRouteInfoFromNameServer(MQClientInstance.java:681)
    at org.apache.rocketmq.client.impl.factory.MQClientInstance.updateTopicRouteInfoFromNameServer(MQClientInstance.java:511)
    at org.apache.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl.updateTopicSubscribeInfoWhenSubscriptionChanged(DefaultMQPushConsumerImpl.java:868)
    at org.apache.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl.start(DefaultMQPushConsumerImpl.java:649)
    at org.apache.rocketmq.client.consumer.DefaultMQPushConsumer.start(DefaultMQPushConsumer.java:693)
    at com.rexel.stream.flink.source.RocketSource.run(RocketSource.java:60)
    at org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:100)
    at org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:63)
    at org.apache.flink.streaming.runtime.tasks.SourceStreamTask$LegacySourceFunctionThread.run(SourceStreamTask.java:196)
Caused by: org.apache.rocketmq.remoting.exception.RemotingTimeoutException: invokeSync call timeout
    at org.apache.rocketmq.remoting.netty.NettyRemotingClient.invokeSync(NettyRemotingClient.java:371)
    at org.apache.rocketmq.client.impl.MQClientAPIImpl.getTopicRouteInfoFromNameServer(MQClientAPIImpl.java:1369)
    at org.apache.rocketmq.client.impl.MQClientAPIImpl.getTopicRouteInfoFromNameServer(MQClientAPIImpl.java:1359)
    at org.apache.rocketmq.client.impl.factory.MQClientInstance.updateTopicRouteInfoFromNameServer(MQClientInstance.java:624)
    ... 8 common frames omitted

 

==解决办法==

RocketMQ集群版本是:4.6.1

程序中依赖的客户端版本也是4.6.1

<dependency>
    <groupId>org.apache.rocketmq</groupId>
    <artifactId>rocketmq-client</artifactId>
    <version>4.6.1</version>
</dependency>
<dependency>
    <groupId>org.apache.rocketmq</groupId>
    <artifactId>rocketmq-acl</artifactId>
    <version>4.6.1</version>
</dependency>

 

有网友建议降低客户端版本为4.5.0,尝试了一下,确实可以解决。

 

--END--

posted @ 2020-07-23 16:17  大墨垂杨  阅读(6624)  评论(0编辑  收藏  举报