-
Notifications
You must be signed in to change notification settings - Fork 530
Globus patch - no need to lock the dataset while an upload is in progress, when tasks are monitored asynchronously. #11971
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
base: develop
Are you sure you want to change the base?
Conversation
…ts and/or further uploads (when the async. task management mode is enabled).
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
src/main/webapp/dataset.xhtml
Outdated
| </c:if> | ||
| <!--c:if test="#{(showSubmitForReviewLink or showReturnToAuthorLink) and showPublishLink and DatasetPage.lockedFromPublishing}" --> | ||
| <!-- f:passThroughAttribute name="class" value="btn btn-default btn-access btn-publish dropdown-toggle disabled"/ --> | ||
| <!-- /c:if --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a reason for adding this commented out code?
I'll approve it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed, thanks.
|
Added "how to test" info and size 10. |
This comment has been minimized.
This comment has been minimized.
1 similar comment
|
📦 Pushed preview images as 🚢 See on GHCR. Use by referencing with full name as printed above, mind the registry name. |
What this PR does / why we need it:
Globus uploads have been handled the same way as ingests - a dedicated lock is placed on the dataset for the duration preventing any further transfers or edits. This does not appear to be necessary when the asynchronous, database queue-based task monitoring mode is enabled. Since the whole point of Globus support, at HDV at least, is for handling larger/TB-sized data these transfers can take a long time (days potentially) and keeping the dataset locked further complicates an already cumbersome workflow.
Which issue(s) this PR closes:
There's no corresponding issue as of now, this started as a production patch.
Special notes for your reviewer:
I still have no idea how to go about creating meaningful tests for any Globus-related functionality. Any feedback is welcome.
Suggestions on how to test this:
This can be tested on one of the instances where Globus storage is configured: demo and dataverse-internal.
In a collection with a Globus storage volume assigned, starting a long-ish running Globus upload (will need to be something in at least 10s of MBs; and this is definitely a PR that will be easier to test from home, since transfers are obscenely fast between NESE and Harvard local networks). With this build, it should be possible to start another Globus transfer; the "add files" and all the other buttons except for "Publish Dataset" should stay enabled for the duration.
A finer test will be to stack multiple simultaneous transfers, and confirm that a) the above is still true b) that the Publish button will stay disable for as long as at least one transfer is still active, but becomes enabled again once the last one finishes. Similarly, the message about publishing being disabled should disappear at the end.
I suggest not to actually try and publish the dataset; simply because then you will be able to delete the draft, and have the files stored at NESE permanently erased in the process. Even though it's a tape volume dedicated to testing that demo and internal are configured to use, it's still prudent not to leave junk on it unnecessarily.
Does this PR introduce a user interface change? If mockups are available, please link/include them here:
Is there a release notes update needed for this change?:
Additional documentation: