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.
---