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