-
Notifications
You must be signed in to change notification settings - Fork 122
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
Change project recovery to save one recovery script rather than one for each workspace #36859
Merged
sf1919
merged 7 commits into
release-next
from
36847_project_recovery_making_lots_of_files
Feb 16, 2024
Merged
Change project recovery to save one recovery script rather than one for each workspace #36859
sf1919
merged 7 commits into
release-next
from
36847_project_recovery_making_lots_of_files
Feb 16, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
jhaigh0
added
ISIS Team: Core
Issue and pull requests managed by the Core subteam at ISIS
Reported By User
Issues that were found or highlighted by a user/scientist
labels
Feb 16, 2024
Does this also fix #36737 ? |
jhaigh0
force-pushed
the
36847_project_recovery_making_lots_of_files
branch
from
February 16, 2024 14:01
dd626ba
to
b82cc18
Compare
jclarkeSTFC
previously approved these changes
Feb 16, 2024
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.
I went through the manual testing and didn't have any problems. I think that means that #36737 is also fixed, since reproducing that simply requires following the manual testing instructions to get the error.
On Linux (but weirdly not on Windows), if the script string is empty then this algorithm will explode.
jclarkeSTFC
force-pushed
the
36847_project_recovery_making_lots_of_files
branch
from
February 16, 2024 14:43
3c85062
to
7107861
Compare
jclarkeSTFC
approved these changes
Feb 16, 2024
This was referenced Feb 16, 2024
This was referenced Feb 21, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
ISIS Team: Core
Issue and pull requests managed by the Core subteam at ISIS
Reported By User
Issues that were found or highlighted by a user/scientist
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of work
See #36847 for why this was an a problem.
Previously, project recovery would save the history of each workspace in separate, numbered python files. Then, on recovery, these were put through the
OrderWorkspaceHistory
algorithm to create theordered_recovery.py
script. To stop as many files being written I've used theproject_recovery.utils
functionget_all_workspace_history_from_ads()
(which was being used to generate a recovery script viaFile -> Generate Recovery Script
) to generate the recovery script at the point of saving a checkpoint. Then when loading the checkpoint back in, this script just needs to be copied over to where workbench looks forordered_recovery.py
.Possibly this means project saving is slower (depends on if running
OrderWorkspaceHistory
is slower than writing all the separate files) but this all runs on a separate thread, so I think it will be fine.I have also fixed a bug where, when loading opening and running
ordered_recovery.py
, if workbench had the file open on startup, an older out of date version would be run.Fixes #36847
Fixes #36737
To test:
Since this is so close to release this probably needs the full project recovery manual tests.
https://developer.mantidproject.org/Testing/ErrorReporter-ProjectRecovery/ProjectRecoveryTesting.html
Test instructions from #36737
Reviewer
Please comment on the points listed below (full description).
Your comments will be used as part of the gatekeeper process, so please comment clearly on what you have checked during your review. If changes are made to the PR during the review process then your final comment will be the most important for gatekeepers. In this comment you should make it clear why any earlier review is still valid, or confirm that all requested changes have been addressed.
Code Review
Functional Tests
Does everything look good? Mark the review as Approve. A member of
@mantidproject/gatekeepers
will take care of it.Gatekeeper
If you need to request changes to a PR then please add a comment and set the review status to "Request changes". This will stop the PR from showing up in the list for other gatekeepers.