Github user cestella commented on the issue:

    https://github.com/apache/metron/pull/675
  
    In my opinion, I don't think we want this behavior.  I think it may be too 
severe given how dirty and sparse our data tends to be.
    
    Does this mean that if you have a stellar expression `FOO(bar)` and the 
field `bar` doesn't exist, will we get an exception?  If so, given that 
messages come through with certain fields which are optional (i.e. some 
messages have field `foo` and others might not have a field `foo` depending on 
the parser), I think this will result in a fair number of errors.
    
    I'd rather leave it up to the Stellar function creator to figure out if the 
field is able to be optional or not rather than having a blanket policy of 
throwing an exception.  Consider the function `TO_UPPER`.  I'd rather 
`TO_UPPER` tolerate missing fields by passing them through (i.e. 
`TO_UPPER(null) == null`) rather than throw an exception.
    
    One approach to this would be changing the `StellarFunction` interface to a 
`List<Optional<Object>>` instead of a `List<Object>` and have the variability 
made explicit.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to