-
Notifications
You must be signed in to change notification settings - Fork 275
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
当对topic进行消息查询后,如果删除该topic,日志会出现大量MQClientException错误 #20
Comments
无法重现,请提供完整日志和详细操作步骤,以及mqcloud的版本。 |
步骤一:申请topic[notify_error_test] 步骤二:生产者任意发送消息,并在页面上点击该Topic,通过生产者返回的msgId查询某条消息 |
可以上传mqcloud的stdout.log和rocketmq.log吗 |
场景:当在mqcloud上对某个topic进行消息查询后,此时若删除该topic,会导致在MQClientInstance的定时任务updateTopicRouteInfoFromNameServer出现大量WARNING日志;
原因个人分析,由于使用mqAdmin对象池对topic进行查询时,会将topic信息保存到producerTable中,当删除该topic后,对象池中的producerTable不会同步删除该topic,导致后续定时任务更新topic信息一致报错,不知道上述分析是否正确,有什么解决方式没有?
2021-05-20 18:40:08.065 {MQClientFactoryScheduledThread} WARN RocketmqClient-115 - get Topic [*****_topic] RouteInfoFromNameServer is not exist value
2021-05-20 18:40:08.065 {MQClientFactoryScheduledThread} WARN RocketmqClient-130 - updateTopicRouteInfoFromNameServer Exception
org.apache.rocketmq.client.exception.MQClientException: CODE: 17 DESC: No topic route info in name server for the topic: *****_topic
See http://rocketmq.apache.org/docs/faq/ for further details.
at org.apache.rocketmq.client.impl.MQClientAPIImpl.getTopicRouteInfoFromNameServer(MQClientAPIImpl.java:1385)
at org.apache.rocketmq.client.impl.MQClientAPIImpl.getTopicRouteInfoFromNameServer(MQClientAPIImpl.java:1355)
at org.apache.rocketmq.client.impl.factory.MQClientInstance.updateTopicRouteInfoFromNameServer(MQClientInstance.java:622)
at org.apache.rocketmq.client.impl.factory.MQClientInstance.updateTopicRouteInfoFromNameServer(MQClientInstance.java:509)
at org.apache.rocketmq.client.impl.factory.MQClientInstance.updateTopicRouteInfoFromNameServer(MQClientInstance.java:358)
at org.apache.rocketmq.client.impl.factory.MQClientInstance$3.run(MQClientInstance.java:275)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
The text was updated successfully, but these errors were encountered: