Uploaded image for project: 'Apache Storm'
  1. Apache Storm
  2. STORM-214

Windows: storm.cmd does not properly handle multiple -e arguments

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • storm-core
    • Windows

    Description

      As reported to user@:

      Begin forwarded message:

      From: Spico Florin <spicoflorin@gmail.com>
      Subject: Fwd: Rebalance topology throws java.lang.StringIndexOutOfBoundsException: String index out of range: -1
      Date: February 5, 2014 at 4:30:43 AM EST
      To: "user@storm.incubator.apache.org" <user@storm.incubator.apache.org>
      Reply-To: user@storm.incubator.apache.org

      Hello!
      In the mentioned version for Windows, the rebalance command arguments should not be passed as indicated in

      https://github.com/nathanmarz/storm/wiki/Understanding-the-parallelism-of-a-Storm-topology
      storm rebalance mytopology -n 5 -e blue-spout=3 -e yellow-bolt=10

      In order to get rid of the mentioned exception(java.lang.StringIndexOutOfBoundsException you should use the command

      storm rebalance WordCount -e "spout=3"

      However, trying to rebalance more components (either spouts or bolts) will rebalance only the latest component mentioned in the list. So, for example for example:

      storm rebalance WordCount -e "spout=3" -e "count=5"
      the rebalance will be applied only for the "count" component not for the "spout".

      So, in my opinion either the documentation should be updated or the rebalance.clj should be changed in order to support rebalancing for multiple components.

      I look forward for your opinions.
      Regards,
      Florin

      ---------- Forwarded message ----------
      From: Spico Florin <spicoflorin@gmail.com>
      Date: Tue, Feb 4, 2014 at 11:10 AM
      Subject: Rebalance topology throws java.lang.StringIndexOutOfBoundsException: String index out of range: -1
      To: "user@storm.incubator.apache.org" <user@storm.incubator.apache.org>

      Hello!
      I'm using the Taylor Goetz's storm version pointed out by article

      http://ptgoetz.github.io/blog/2013/12/18/running-apache-storm-on-windows/

      and located at:
      https://github.com/ptgoetz/incubator-storm/tree/windows-test

      I have succeeded to install everything on my computer (running windows 7, 64 bit). I have also ran fine the indicated topology and my topology too. But when I'm trying to do a rebalancing of my topology by re-configuring the number of spouts or bolt with the command
      storm rebalance WordCount -e spout=3
      I'm getting the exception:
      Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
      at java.lang.String.substring(String.java:1911)
      at backtype.storm.command.rebalance$parse_executor.invoke(rebalance.clj:24)
      at clojure.tools.cli$apply_specs.invoke(cli.clj:80)
      at clojure.tools.cli$cli.doInvoke(cli.clj:130)
      at clojure.lang.RestFn.invoke(RestFn.java:460)
      at backtype.storm.command.rebalance$_main.doInvoke(rebalance.clj:31)
      at clojure.lang.RestFn.applyTo(RestFn.java:137)
      at backtype.storm.command.rebalance.main(Unknown Source)

      If I'm changing only the number of workers it works without any exceptions.

      If someone of you have tested this version, can you please help me to get rid of it?
      I'll look forward for your answers.

      Thanks in advance.
      Regards,
      Florin

      Attachments

        Activity

          People

            sriharsha Harsha
            ptgoetz P. Taylor Goetz
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: