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
release-22.2: catalog: don't set modification time for offline descriptors #112757
Conversation
b20729b
to
90c8dcf
Compare
Thanks for opening a backport. Please check the backport criteria before merging:
If some of the basic criteria cannot be satisfied, ensure that the exceptional criteria are satisfied within.
Add a brief release justification to the body of your PR to justify this backport. Some other things to consider:
|
There is a post-deserialization change that automatically sets the modification time for all descriptors if it is not present. Notably, there is also a cluster upgrade step that rewrites all descriptors with post-deserialization changes, and bumps their version. If a RESTORE is running during an upgrade, the descriptors it tries to rewrite could have been also bumped by the upgrade step. That would cause the RESTORE to fail. Now, the change to automatically set the modification time is disabled if the descriptor is on the offline state, as it is during RESTORE. Release note (bug fix): Fixed a bug that could prevent RESTORE from working if it was performed during a cluster upgrade.
90c8dcf
to
0a48a60
Compare
No, since this is a bug fix.
Risk of backporting: Something during the RESTORE process may have been relying on the ModificationTime being set without us knowing.
If we want to fix the bug and the test, then yes it needs to be. |
Backport 1/1 commits from #111820 on behalf of @rafiss.
/cc @cockroachdb/release
There is a post-deserialization change that automatically sets the
modification time for all descriptors if it is not present. Notably,
there is also a cluster upgrade step that rewrites all descriptors with
post-deserialization changes, and bumps their version.
If a RESTORE is running during an upgrade, the descriptors it tries to
rewrite could have been also bumped by the upgrade step. That
would cause the RESTORE to fail.
Now, the change to automatically set the modification time is disabled
if the descriptor is on the offline state, as it is during RESTORE.
fixes #109976
Release note (bug fix): Fixed a bug that could prevent RESTORE from
working if it was performed during a cluster upgrade.
Release justification: bug fix