rocketmq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "yukon (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (ROCKETMQ-226) Remove the code that is not useful in the loop
Date Wed, 05 Jul 2017 06:58:00 GMT

     [ https://issues.apache.org/jira/browse/ROCKETMQ-226?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

yukon updated ROCKETMQ-226:
---------------------------
    Fix Version/s:     (was: 4.1.0-incubating)
                   4.2.0-incubating

> Remove the code that is not useful in the loop
> ----------------------------------------------
>
>                 Key: ROCKETMQ-226
>                 URL: https://issues.apache.org/jira/browse/ROCKETMQ-226
>             Project: Apache RocketMQ
>          Issue Type: Wish
>          Components: rocketmq-client
>    Affects Versions: 4.0.0-incubating
>            Reporter: huangyiminghappy
>            Assignee: Xiaorui Wang
>            Priority: Minor
>             Fix For: 4.2.0-incubating
>
>         Attachments: 555.png, 666.png
>
>   Original Estimate: 0.5h
>  Remaining Estimate: 0.5h
>
> in the clientComponent ,org.apache.rocketmq.client.impl.factory.MQClientInstance class
has the method like this:
> {code:java}
>  public FindBrokerResult findBrokerAddressInAdmin(final String brokerName) {
>         String brokerAddr = null;
>         boolean slave = false;
>         boolean found = false;
>         HashMap<Long/* brokerId */, String/* address */> map = this.brokerAddrTable.get(brokerName);
>         if (map != null && !map.isEmpty()) {
>             FOR_SEG:
>             for (Map.Entry<Long, String> entry : map.entrySet()) {
>                 Long id = entry.getKey();
>                 brokerAddr = entry.getValue();
>                 if (brokerAddr != null) {
>                     found = true;
>                     if (MixAll.MASTER_ID == id) {
>                         slave = false;
>                         break FOR_SEG;
>                     } else {
>                         slave = true;
>                     }
>                     break;
>                 }
>             } // end of for
>         }
>         if (found) {
>             return new FindBrokerResult(brokerAddr, slave);
>         }
>         return null;
>     }
> {code}
> the code {color:red}{color:red}FOR_SEG{color} {color} is not useful,It is not multiple
loop,You do not need to jump to the specified loop,so i suggest remove the FOR_SEQ code like
this:
>  
> {code:java}
>     public FindBrokerResult findBrokerAddressInAdmin(final String brokerName) {
>         String brokerAddr = null;
>         boolean slave = false;
>         boolean found = false;
>         HashMap<Long/* brokerId */, String/* address */> map = this.brokerAddrTable.get(brokerName);
>         if (map != null && !map.isEmpty()) {
>             for (Map.Entry<Long, String> entry : map.entrySet()) {
>                 Long id = entry.getKey();
>                 brokerAddr = entry.getValue();
>                 if (brokerAddr != null) {
>                     found = true;
>                     if (MixAll.MASTER_ID == id) {
>                         slave = false;
>                     } else {
>                         slave = true;
>                     }
>                     break;
>                 }
>             } // end of for
>         }
>         if (found) {
>             return new FindBrokerResult(brokerAddr, slave);
>         }
>         return null;
>     }
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message