-
Notifications
You must be signed in to change notification settings - Fork 2.1k
[stable9.1] Backport of filecache repair step OLD #29407
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
Conversation
|
Backported |
PVince81
left a comment
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.
Code looks good 👍
If manually tested, this is good to go.
|
Weird JS setup failures: |
|
tried doing a separate PR to reset the test env but the failure is the same: #29474. maybe we need the older node JS for these versions of the node packages... |
|
I have node v6.11.4 and tests pass locally |
|
Requires #29476 for the JS tests to pass. Might need to resubmit PR to get a clean env. |
|
Please rebase and track Jenkins directly. If JS test fails within the first minutes, then resubmit PR. |
Whenever a parent-child relationship describes a specific path but the entry's actual path is different, this new repair step will adjust it. In the event where another entry already exists under that name, the latter is deleted and replaced by the above entry. This should help preserve the metadata associated with the original entry.
When fixing failed cross-storage moves in the file cache and using the storage id filter, we filter by target storage for phase 1. However, we also need to fix the source storages in phase 2. To do so, a list of affected source storages is now gathered in phase 1 to be run on phase 2.
This instead of iterating over all storages which is way less efficient due to the 1-N nature of potential failed cross-storage moves that we are repairing. If singleuser mode is enabled and "--all --repair" is passed, all storages will be repaired in bulk (no repair filter). If not, it will fall back to iterating over each storage which is slower.
bb7fb88 to
e81442e
Compare
|
@tomneedham I went forward and rebased this. Let's see... |
|
Jenkins crashed again on the JS test. Going to resent this PR to get a clean env. |
|
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Description
Backport of #28253 to stable9.1. Attempts to repair oc_filecache and retain metadata whilst doing so.
Motivation and Context
Underlying filecache corruption caused by a bug in 9.
How Has This Been Tested?
Manually using occ scan commands.
Types of changes
Checklist: