NIFI-15960 Replaced current property in AvroSchemaRegistry with a new one which utilizes a validation strategy where it details what Avro validations occur when choosing strict validation of Avro schemas.#11290
Conversation
| } | ||
| } | ||
|
|
||
| config.removeProperty(obsoletePropertyName); |
There was a problem hiding this comment.
Should removeProperty(obsoletePropertyName) be guarded by hasProperty(obsoletePropertyName) (or the loop broken after the first match), so that the migration result only reports the property that was actually present?
There was a problem hiding this comment.
Javadoc on remove is
Removes the property with the given name, if it exists. If the property does not exist, this is a no-op.
Why would it be necessary then to be guarded by hasProperty(obsoletePropertyName) (or the loop broken after the first match)?
There was a problem hiding this comment.
@pvillard31 Are you okay if this is left as is?
… one which utilizes a validation strategy where it details what Avro validations occur when choosing strict validation of Avro schemas.
…t what the Avro code actually does (i.e. validate or does not validate).
|
@pvillard31 Thank you very much for approving my other PRs. Can you please take another look at this PR? My teammates are interested in having this documentation so it is clear what parts of the Avro schema are validated. Thanks! |
Summary
NIFI-15960
This PR primarily details the various validations which occur when strict validation is chosen for validating Avro schemas in the AvroSchemaRegistry. The unit tests were overhauled to use the NIFI testing framework and multiple unit tests were added especially to contrast the difference between strict and lenient validation of Avro schemas.
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking
Pull Request Tracking
NIFI-00000NIFI-00000VerifiedstatusPull Request Formatting
mainbranchVerification
Please indicate the verification steps performed prior to pull request creation.
Build
./mvnw clean install -P contrib-checkLicensing
LICENSEandNOTICEfilesDocumentation