Screen Shot 2016-09-08 at 11.35.54 AM.png

My topology is really simple. I have a Kinesis spout which reads the data from Kinesis and do some parsing and just send it off to another firehose. However, when I look at the numbers, the numbers don't add up. For example, the last bolt which is sparrow_firehose shouldn't it be the same as the number of emitted from kinesis_spout? 

Here's how it's all wired up.

        // Using number of shards as the parallelism hint for the spout.
        builder.setSpout("kinesis_spout", spout, parseInt(property.getSpoutExecutorNumber()));

        builder.setBolt("parse_bolt", new ParsingDruidBolt(), parseInt(property.getDruidParseBoltExecutorNumber()))
                .fieldsGrouping("kinesis_spout", new Fields(SampleKinesisRecordScheme.FIELD_PARTITION_KEY));

        builder.setBolt("sparrow_firehose", new BeamBolt<>(new DruidBeamFactory(topologyConfig)), parseInt(property.getDruidSparrowBoltExecutorNumber()))
                .fieldsGrouping("parse_bolt", new Fields("event_stream"));