You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by "Rick Kellogg (JIRA)" <ji...@apache.org> on 2015/10/09 03:00:32 UTC

[jira] [Updated] (STORM-72) Storm Conf convert value to int fail

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

Rick Kellogg updated STORM-72:
------------------------------
    Component/s: storm-core

> Storm Conf convert value to int fail
> ------------------------------------
>
>                 Key: STORM-72
>                 URL: https://issues.apache.org/jira/browse/STORM-72
>             Project: Apache Storm
>          Issue Type: Improvement
>          Components: storm-core
>            Reporter: James Xu
>            Priority: Minor
>
> https://github.com/nathanmarz/storm/issues/588
>  ./storm jar my.jar my.MainClass args1=argsValue1 ... -c nimbus.thirft.port=7777
> so my stormConf will include a hash entry['nimbus.thirft.port']='7777'
> but the method of util convert Object to int has a bug:
> https://github.com/nathanmarz/storm/blob/master/storm-core/src/jvm/backtype/storm/utils/Utils.java#L270
>     public static Integer getInt(Object o) {
>         if(o instanceof Long) {
>             return ((Long) o ).intValue();
>         } else if (o instanceof Integer) {
>             return (Integer) o;
>         } else if (o instanceof Short) {
>             return ((Short) o).intValue();
>         } else {
>             throw new IllegalArgumentException("Don't know how to convert " + o + " + to int");
>         }
>     }
> call from
> https://github.com/nathanmarz/storm/blob/master/storm-core/src/jvm/backtype/storm/utils/NimbusClient.java#L18
>     public static NimbusClient getConfiguredClient(Map conf) {
>         try {
>             String nimbusHost = (String) conf.get(Config.NIMBUS_HOST);
>             int nimbusPort = Utils.getInt(conf.get(Config.NIMBUS_THRIFT_PORT));
>             return new NimbusClient(conf, nimbusHost, nimbusPort);
>         } catch (TTransportException ex) {
>             throw new RuntimeException(ex);
>         }
>     }
> my mind add code:
>        else if (o instanceof String) {
>             return Integer.valueOf((String) o);
>         }
>     public static Integer getInt(Object o) {
>         if(o instanceof Long) {
>             return ((Long) o ).intValue();
>         } else if (o instanceof Integer) {
>             return (Integer) o;
>         } else if (o instanceof Short) {
>             return ((Short) o).intValue();
>         } else if (o instanceof String) {
>             return Integer.valueOf((String) o);
>         } else {
>             throw new IllegalArgumentException("Don't know how to convert " + o + " + to int");
>         }
>     }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)