waterbutler
waterbutler copied to clipboard
[SVCS-552] folder_file_op cut down revalidate calls.
Ticket
https://openscience.atlassian.net/browse/SVCS-552 This PR replaces https://github.com/CenterForOpenScience/waterbutler/pull/287
Purpose
folder_file_op makes roughly a trillion metadata calls every time it moves a folder's children. This fix makes it easy to get a path from it's metadata object by giving the metadata an id which corresponds with the path identifier. Since we can now convert a metadata object into a path easily we no longer need to re-validate each time.
Changes
- Add id property to every provider's metadata.
- Changes from_metadata_to_path to uses metadata.id property
- Changes folder_file op to use from_metadata_to_path instead of revalidate_path
- Adds tests id property
- Adds tests for folder_file_op
Side effects
None that I know of.
QA Notes
Copy/moves between providers should be unchanged or slightly faster.
Deployment Notes
None.
Coverage increased (+0.4%) to 90.34% when pulling 6732325798c1ac7749e0bd26dffec593dc2daac6 on Johnetordoff:folder_file_op_fix into 1b60f4017fc7fa52824988d2bc687e070b4d586b on CenterForOpenScience:develop.