Github user merrimanr commented on the issue:
https://github.com/apache/metron/pull/1213
The MessageParser.parseOptional call returns a list of JSONObjects which is
then processed (field transformations applied, messages validated, etc). The
difference is WHEN each processed JSONObject is written to Kafka. In the
current ParserBolt each one is sent as soon as it is processed because
everything runs in ParserBolt.execute. Since we are extracting that logic
outside of the ParserBolt, we either need to write them all after processing is
done by the abstraction or expose callbacks that the abstraction calls as it
finishes processing each one.
I don't think it matters much either way. I chose to use callbacks because
it more closely matches the flow of the current ParserBolt. I will assume
everyone is ok with callbacks and will continue work on the suggestions made in
the comments.
---