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 <[email protected]> Date: Tue, Feb 4, 2014 at 11:10 AM Subject: Rebalance topology throws java.lang.StringIndexOutOfBoundsException: String index out of range: -1 To: "[email protected]" <[email protected]> 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
