-
Notifications
You must be signed in to change notification settings - Fork 7.8k
Introduce cpr/mvr operations for Keeper client
#88570
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
|
Workflow [PR], commit [817ef6e] Summary: ⏳
|
| } | ||
| }; | ||
|
|
||
| class CPRCommand : public IKeeperClientCommand |
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.
It's like we are giving CPR to Keeper 🩺
programs/keeper-client/Commands.cpp
Outdated
| /// Copy tree | ||
| for (const auto & [subpath, data, version] : subtree_nodes) | ||
| { | ||
| ops.push_back(zkutil::makeCheckRequest(src + subpath, version)); |
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.
you can exclude check if you have remove_src. To fail early, you can do removes first
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.
Fixed, thanks!
programs/keeper-client/Commands.cpp
Outdated
| is_completed = true; | ||
| return; | ||
| } | ||
| case Coordination::Error::ZBADVERSION: { |
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.
if we want to make it even more robust, we could retry on ZNONODE and the missing node is not the root source node.
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.
Added a check for the first failed op path
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes into CHANGELOG.md):
Add recursive variants of
cp-cprandmv-mvrcommands in Keeper client.