title: prepare method executing multiple times
body: <p>Hi I am creating a Topology using apache-storm in which my Spout is collecting data from Kakfa Topic and sending it to a bolt.</p>
  
  <p>I am doing some validation over the tuple and emitting stream again for other bolt.</p>
  
  <p>Now the issue is that my second bolt which is using stream of the first bolt  has a overload method <code>prepare(Map&lt;String, Object&gt; map, TopologyContext topologyContext, OutputCollector outputCollector)</code>
  which is executing after let say every 2 seconds.</p>
  
  <p>Code for topology is </p>
  
  <pre><code>topologyBuilder.setBolt("abc",new ValidationBolt()).shuffleGrouping(configurations.SPOUT_ID);
  
  topologyBuilder.setBolt("TEST",new TestBolt()).shuffleGrouping("abc",Utils.VALIDATED_STREAM);
  </code></pre>
  
  <p>Code for First bolt "abc" is </p>
  
  <pre><code>@Override
      public void execute(Tuple tuple) {
          String document = String.valueOf(tuple.getValue(4));
          if (Utils.isJSONValid(document)) {
              outputCollector.emit(Utils.VALIDATED_STREAM,new Values(document));
          }
      }
  
  
      @Override
      public void declareOutputFields(OutputFieldsDeclarer outputFieldsDeclarer) {
          outputFieldsDeclarer.declareStream(Utils.VALIDATED_STREAM,new Fields("document"));
      }
  </code></pre>
  
  <p>While I was searching I found</p>
  
  <pre><code>The prepare method is called when the bolt is initialised and is 
  similar to the open method in spout. It is called only once for the bolt.
  It gets the configuration for the bolt and also the context of the bolt. 
  The collector is used to emit or output the tuples from this bolt. 
  </code></pre>
  
  <p>Link to public gist for log
  <a href="https://gist.github.com/pritishjoshi94/4932c003d39b91016df305a4dee1b14c" rel="nofollow noreferrer">Storm topology log</a></p>