Looks like we were not surfacing all errors/failures to the caller. So, fixing all such cases in this patch. Added tests w/ both ignoreFailed = false and true and validated the cases.
Cases covered:
Partition mis-match: when ignoreFailed = true, throws HoodieValidationException to caller. when ignoreFailed = false, validator execution may not fail, but caller can get exception via hasValidationFailure() and validator.getThrowables().get(0)
File slice mis-match w/ log files: when ignoreFailed = true, throws HoodieValidationException to caller. when ignoreFailed = false, validator execution may not fail, but caller can get exception via hasValidationFailure() and validator.getThrowables().get(0)
RLI mis-match (file slices match, but RLI mis-matches): when ignoreFailed = true, throws HoodieValidationException to caller. when ignoreFailed = false, validator execution may not fail, but caller can get exception via hasValidationFailure() and validator.getThrowables().get(0)
Impact
Robust MDT validation.
Risk level (write none, low medium or high below)
Low.
Documentation Update
Describe any necessary documentation update if there is any new feature, config, or user-facing change. If not, put "none".
The config description must be updated if new configs are added or the default value of the configs are changed
Any new feature or user-facing change requires updating the Hudi website. Please create a Jira ticket, attach the
ticket number here and follow the instruction to make
changes to the website.
Change Logs
Looks like we were not surfacing all errors/failures to the caller. So, fixing all such cases in this patch. Added tests w/ both ignoreFailed = false and true and validated the cases.
Cases covered:
Partition mis-match: when ignoreFailed = true, throws HoodieValidationException to caller. when ignoreFailed = false, validator execution may not fail, but caller can get exception via hasValidationFailure() and validator.getThrowables().get(0) File slice mis-match w/ log files: when ignoreFailed = true, throws HoodieValidationException to caller. when ignoreFailed = false, validator execution may not fail, but caller can get exception via hasValidationFailure() and validator.getThrowables().get(0) RLI mis-match (file slices match, but RLI mis-matches): when ignoreFailed = true, throws HoodieValidationException to caller. when ignoreFailed = false, validator execution may not fail, but caller can get exception via hasValidationFailure() and validator.getThrowables().get(0)
Impact
Robust MDT validation.
Risk level (write none, low medium or high below)
Low.
Documentation Update
Describe any necessary documentation update if there is any new feature, config, or user-facing change. If not, put "none".
Contributor's checklist