Github user cestella commented on the issue:

    https://github.com/apache/metron/pull/687
  
    So, I guess I'm suggesting that this is like..3/4 of the way to a complete 
solution, which is for stellar to handle variable assignments completely.  
    
    Specifically, I'd say that our dominantly used variable resolver 
(`MapVariableResolver`) doesn't support updates, so nothing actually happens 
when you update outside of the `DefaultVariableResolver`, so assignments don't 
actually function yet and an error isn't thrown.
    So, if someone reads the updated docs and uses `++` in the profiler or 
enrichments, it won't actually work and it'll not be apparent why.
    
    What I'm suggesting is one of these:
    1. refactoring the `MapVariableResolver` to support updates and refactoring 
the places where we use assignments to NOT handle variable assignment outside 
of stellar.
    2. Making a feature branch for stellar assignments and I'd +1 this into 
that branch and we can do the final PR in that branch
    3. pull back the scope of this PR and just have assignments supported in 
the parser without the unary operators.  This is what I was getting here in my 
comment before:
    
    > For instance, in the BaseStellarProcessor class we have a parse method 
that returns the output of  the expression. I'd suggest we have a 
parseExpression and parseAssignment where the first acts  as it does now and 
the second returns the variable name and the result.
    
    Ultimately, I LOVE this PR and I don't want you to think that I'm 
poo-pooing it.  I think this is great work and I look forward to the feature 
being added.  It just seemed ALMOST done, but not quite enough to stand by 
itself in master because the gap may leave people confused.


---

Reply via email to