title: Running Storm in cluster, cleanup does not get called
body: <p>I have the following code for storm topology, which I am running on cluster:</p>
  
  <pre><code>TopologyBuilder builder = new TopologyBuilder();
  builder.setSpout("word-reader", new WordReader());
  builder.setBolt("word-normalizer", new WordNormalizer())
          .shuffleGrouping("word-reader");
  builder.setBolt("word-counter", new WordCounter()).fieldsGrouping(
          "word-normalizer", new Fields("word"));
  Config conf = new Config();
  conf.put("wordsFile", args[0]);
  conf.setDebug(false);
  conf.put(Config.TOPOLOGY_MAX_SPOUT_PENDING, 1);
  try {
      StormSubmitter.submitTopology("Test-topology", conf,
              builder.createTopology());
  } catch (AlreadyAliveException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
  } catch (InvalidTopologyException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
  }
  </code></pre>
  
  <p>When I debug it, the following <code>cleanup()</code> method doesn't run in class <code>WordCounter</code>...</p>
  
  <pre><code>@Override
  public void cleanup() {
      System.out.println("-- Word Counter --");
  }
  </code></pre>
  
  <p>...and the topology doesn't finish running.</p>