org.apache.rocketmq.remoting.exception.RemotingTimeoutException: invokeSync call timeout
阿新 • • 發佈:2020-07-23
==問題==
在本地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=22020-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--