Github user justinleet commented on the issue:

    https://github.com/apache/metron/pull/970
  
    @nickwallen My main concern re: pluggability is for a lot of this stuff, 
it's going to be very pretty specific to the fact that (right now) we're using 
Lucene stores (and it might be worth renaming some of the base classes to 
things like `AbstractLuceneMetaAlertDao` to make that more clear). The entire 
denormalization implementation is directly because of the limitations / 
strengths of Lucene stores. A store that implements more familiar joins would 
be totally different (and probably much, much simpler) than the ES and Solr 
impls.
    
    I agree that refactoring is extremely nice to improve testability, but I'm 
not sure what the benefit of making things more extensively pluggable (beyond 
splitting the DAO up into the Search / Update / subsets + your example of 
calculating metascores is good).  Are you more interested into breaking things 
out into more classes than that, just breaking apart functions more so they're 
more easily tested, some combination of both?
    
    I guess the main question is: "Is breaking the meta alert dao into the 
various sub functions (Search, Update, etc.) + pulling out the calculate logic 
+ at least a refactoring pass for testability a good first step in moving this 
forward?" I want to make sure there's at least a clear next step before doing a 
lot of adjusting, even if the exact final state might shift a bit.


---

Reply via email to