spacepy / dbprocessing

Automated processing controller for heliophysics data
5 stars 4 forks source link

Increment output quality versions when input/code interface version changes #63

Closed jtniehof closed 3 years ago

jtniehof commented 3 years ago

As discussed in #62, the interface version (x in x.y.z) of a file should be set entirely by the output_interface_version column in the code that creates it. #62 presents four problems in versioning, two of which (3 and 4 on that list) pertain to the interface version. This PR contains two changes to fix those problems.

One (3 from #62), if a code has its interface (major) version incremented, with no other changes (including no change to output_interface_version), its outputs become candidates for reprocessing and the reprocessed files will have an increment to the quality version. Without this PR, this would increment the interface version, and thus no longer match output_interface_version.

Two (4 from #62), if a file's interface (major) version is incremented, with no other changes, its children files become candidates for reprocessing, again with an increment to the quality version. Without this PR, these files are not reprocessed. (It's actually not an infinite loop, as I originally though, runMe just thinks the file already exists in the database and is up to date.)

PR Checklist