[ https://issues.apache.org/jira/browse/ROCKETMQ-209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16100514#comment-16100514 ]
Ritabrata Moitra commented on ROCKETMQ-209: ------------------------------------------- https://github.com/apache/incubator-rocketmq/pull/134/commits/e7290f2c53712023e5d07adbb45ef97d39790c4c Removed duplicate code. Pull request created. Please let me know if you need any further improvements. > Duplicated code in class MQClientAPIImpl > ---------------------------------------- > > Key: ROCKETMQ-209 > URL: https://issues.apache.org/jira/browse/ROCKETMQ-209 > Project: Apache RocketMQ > Issue Type: Bug > Components: rocketmq-client > Affects Versions: 4.0.0-incubating, 4.1.0-incubating, 4.2.0-incubating, > 4.3.0-incubating > Environment: All Environments > Reporter: binzhaomobile > Assignee: Xiaorui Wang > Priority: Minor > > In class MQClientAPIImpl, the two functions > getDefaultTopicRouteInfoFromNameServer and getTopicRouteInfoFromNameServer > almost have the same code. The only difference is the way to handle the > situation when topic does not exist. Suggestion to fix this issue: > 1) Add a new function: public TopicRouteData > getTopicRouteInfoFromNameServer(final String topic, final long timeoutMillis, > boolean allowTopicNotExist). > 2) Merge the code from getDefaultTopicRouteInfoFromNameServer and > getTopicRouteInfoFromNameServer into the new function so that it can handle > both case. > 3) Change getDefaultTopicRouteInfoFromNameServer and > getTopicRouteInfoFromNameServer to call the new function with > allowTopicNotExist parameter true or false. -- This message was sent by Atlassian JIRA (v6.4.14#64029)