This repository has been archived by the owner on May 12, 2021. It is now read-only.
METRON-1011 Enforce submission of 4 params Stellar ENRICHMENT functions #628
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Contributor Comments
This is a PR to METRON-1011.
Currently the Stellar functions ENRICHMENT_EXISTS and ENRICHMENT_GET only check for params 'enrichment_type' and 'indicator' to be submitted by the user. In reality all 4 params are mandatory as ArrayIndexOutOfBoundsExceptions are thrown at anything less than 4.
Pull Request Checklist
Thank you for submitting a contribution to Apache Metron.
Please refer to our Development Guidelines for the complete guide to follow for contributions.
Please refer also to our Build Verification Guidelines for complete smoke testing guides.
In order to streamline the review of the contribution we ask you follow these guidelines and ask you to double check the following:
For all changes:
For code changes:
Steps to reproduce (old behaviour):
first do a valid Stellar enrichment_get:
ENRICHMENT_GET(null,null,null,null)
now issue:
ENRICHMENT_GET(null)
You'll get "java.lang.IllegalStateException: Requires at least an enrichment type and indicator" which makes one believe only 2 parameters are mandatory
But in fact all 4 parameters are mandatory, as anything less then 4 will get you:
ENRICHMENT_GET(null,null,null)
[!] Index: 3, Size: 3
java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
New behaviour:
Anything but exactly 4 parameters will get you:
java.lang.IllegalStateException: All parameters are mandatory, submit 'enrichment type', 'indicator', 'nosql_table' and 'column_family'
A much clearer problem statement..
Have you ensured that the full suite of tests and checks have been executed in the root incubating-metron folder via:
Have you written or updated unit tests and or integration tests to verify your changes?
Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.
It is also recommended that travis-ci is set up for your personal repository such that your branches are built there before submitting a pull request.