-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
validate does not perform full bundle validation when using a specific bundle.xml #238
Comments
For test, @qchaupds will use the cucumber behavioral test framework that he just set up. |
@jordanpadams will update the ticket to make the resolution easier. |
@riverma a quick note on your original ticket here: The original request notes that you would like
|
@qchaupds I've update some of the details of the ticket above. note specifically these mods:
Run A:
versus Run B:
Run A will match if and only if there is only 1 bundle product (
So instead of validating against the latest bundle, validate actually picks up
when the software performs bundle validation and a specific bundle label is specified, it should still scan the directory where the @qchaupds does that help? lots of words here though. let me know if you want to talk through this. |
also, btw, there is a large test bundle out at One way to test faster is to use the |
New feature is working but regression test are failing. |
… add LidVid, TargetExaminer, and BundleManager classes. Modify crawler to receive a list of files to ignore. Modify LocationValidator to make exception when a pds4.bundle rule is specified at command line when target is a file.
…urther check for collection file referenced by the specified bundle, add logic for target as directory to check for collection file referenced by the latest bundle file, remove print statements in favor of logger, add getTargetContent() to TargetExaminer to fetch certain elements of a target.
…erence a collection file from the latest bundle, add more debug to understand code execution.
… Remove extraneous logging messages, add logic to handle when bundle refer to collection using lid_reference instead of lidvid_reference, modify TargetExaminer to check for empty string before adding to fieldContent, add error message to log in FileCrawler if called using non-directory as input.
Code changes to support issue #238
Thank you @jordanpadams and @qchaupds for your hard work! Just to ensure I'm understanding the scope #258 correctly: for an accumulating PDS 4 bundle, where there are different |
@riverma correct. you will see some warnings like this:
for all old versions of collection labels that are laying around in the directory structure, but otherwise, we skip those and only do referential integrity checking on the latest version of the collection (or the specific version of the collection if referenced by lidvid) |
@jordanpadams - that's awesome - looking forward to cutting down the validate processing time. Thank you guys. 👍 |
@jordanpadams - just wanted to confirm one thing on your previous post here, assuming we're not using lidvid refs in our |
@riverma it uses the |
Thanks @jordanpadams 👍 |
Hi @qchaupds @jordanpadams - I want to share three test validate runs we recently ran that provided unexpected behavior compared to the expectations of this ticket. In short: running bundle-level validation execution with a specific bundle.xml file in hand seems to have execution time as long as is the case when not specifying a particular bundle.xml. The execution time is far longer than we would expect when looking only at particular tagged bundle.xml file while also not performing product-level validation. Could you help assess if we're running the correct commands or else if this ticket needs to be reopened? Test 1: bundle-level only with v1.25.0 and targeted bundle.xml fileValidate version:
Test 2 bundle-level only with v2.0.3 and targeted bundle.xml fileValidate version:
Exceptions / errors during run:
Test 3 bundle+product level with v1.25.0 and targeted bundle.xml fileValidate version:
|
@riverma can you please refer us to where these products are so we can take a look? additionally, can you please send us the report files referenced above. |
@riverma @jordanpadams There is a possibility that the additional time is taken up from the additional checks we put in the past few months for a bundle. The additional checks were put in for issue #308. Will have a closer look to see if this task can be done the same time when the label is already in memory. |
@riverma after taking a look at this, a few comments:
|
@qchaupds rishi is running a version of validate that does not include those updates |
@riverma one additional note:
you execution includes both content and product level validation. if you only want referential integrity checking, use the following command:
See https://nasa-pds.github.io/validate/operate/index.html#Advanced_Bundle_Validation for more details |
Describe the bug
When the
validate
tool is provided a target, which happens to be a specificbundle.xml
file as opposed to a bundle directory, the tool fails to perform product-level validation for products referenced within the various collections pointed to by thebundle.xml
file.To Reproduce
bundle.xml
:validate -R pds4.bundle -t insight_cameras/bundle.xml
Expected behavior
bundle.xml
:validate -R pds4.bundle -t insight_cameras/bundle.xml
validate -R pds4.bundle -t insight_cameras/
)bundle*.xml
labels. the expected functionality expected here is validate will only validate the inputbundle*.xml
for bundle validation. it may validate otherbundle.xml
files in the base directory, but it will only perform bundle validation (integrity checking) on the bundle input and the associated collections that it references.** Version of Software Used**
Version 1.21.0
Release Date: 2020-03-11 08:54:01
Core Schema: PDS4_PDS_1D00.xsd
Core Schematron: PDS4_PDS_1D00.sch
Test Data / Additional context
See: https://pds-imaging.jpl.nasa.gov/data/nsyt/insight_cameras/
Screenshots
N/A
Desktop (please complete the following information):
Applicable requirements
n/a
The text was updated successfully, but these errors were encountered: