You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by "Jonathan Reichhold (JIRA)" <ji...@apache.org> on 2014/05/21 01:18:38 UTC
[jira] [Commented] (STORM-72) Storm Conf convert value to int fail
[ https://issues.apache.org/jira/browse/STORM-72?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14004110#comment-14004110 ]
Jonathan Reichhold commented on STORM-72:
-----------------------------------------
https://github.com/apache/incubator-storm/pull/119
> Storm Conf convert value to int fail
> ------------------------------------
>
> Key: STORM-72
> URL: https://issues.apache.org/jira/browse/STORM-72
> Project: Apache Storm (Incubating)
> Issue Type: Improvement
> 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.2#6252)