[ https://issues.apache.org/jira/browse/METRON-1681?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16638492#comment-16638492 ]
ASF GitHub Bot commented on METRON-1681: ---------------------------------------- Github user mmiklavc commented on the issue: https://github.com/apache/metron/pull/1213 @merrimanr - I think I viewed the choice of ParserRunner implementation as a strategy of sorts. I guess I don't care either way. @nickwallen's suggestion of making that an interface, that I see you've implemented, should work well there also. There's definitely some impedance mismatch between what's in parsers vs enrichment, so there won't be a direct mapping of concepts. @nickwallen - I've been going back and forth about which approach to take in handling success/errors. I think I agree with you and prefer keeping the runner interface simpler by simply returning a `List<SomethingResulty>`. The fact that we have to jump through hoops a bit for callbacks because of needing reference to the Tuple in onSuccess suggests to me that it's probably better to manage the results in a returned list. The validation on the runner is also simpler in this case as well, ie no need to validate you've set your callbacks. Having onSucess/Error methods in the runner interface feels a little fishy to me. I also think that it makes some sense to decouple the parsing phase from writing altogether, though I recognize that callbacks are not opinionated about the "what" that happens in success/error would be. > Decouple the ParserBolt from the Parse execution logic > ------------------------------------------------------ > > Key: METRON-1681 > URL: https://issues.apache.org/jira/browse/METRON-1681 > Project: Metron > Issue Type: Improvement > Reporter: Justin Leet > Priority: Major > > Per discussion on https://github.com/apache/metron/pull/1099, there are > concerns about the ParserBolt needed some refactoring. The discussion didn't > hold the PR up, but it was generally agreed that we should decouple some of > the initialization and execution logic. > This also aids us in integrating with other systems such as NiFi or Spark. -- This message was sent by Atlassian JIRA (v7.6.3#76005)