-
Notifications
You must be signed in to change notification settings - Fork 6.2k
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
Reunite checkpoint and backup core logic #1932
Conversation
@ajkr has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
@ajkr updated the pull request - view changes - changes since last import |
3bb64a7
to
12e88c0
Compare
@ajkr updated the pull request - view changes - changes since last import |
@ajkr has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
@ajkr do you plan to rebase? |
Yes, maybe will context switch back to this next week, I have some other things to work on now. |
@ajkr makes sense. The next week is the TechDebt week. |
12e88c0
to
32df5e4
Compare
@ajkr updated the pull request - view changes - changes since last import |
@ajkr has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
@ajkr updated the pull request - view changes - changes since last import |
ping |
Can you resolve the conflict? |
yes as long as you intend to review (otherwise it's kinda pointless to repeatedly resolve merge conflicts). |
677649e
to
e1fc1b4
Compare
@ajkr updated the pull request - view changes - changes since last import |
FileType) { | ||
// custom checkpoint will switch to calling copy_file_cb after it sees | ||
// NotSupported returned from link_file_cb. | ||
return Status::NotSupported(); |
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.
Sounds like something like internal error.
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 agree, but this reuses the logic that checkpoint already has for using file copying on Envs that don't support linking. Do you have an alternative idea?
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 fine then.
@ajkr has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
e1fc1b4
to
270349f
Compare
@ajkr updated the pull request - view changes - changes since last import |
@ajkr has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
@ajkr updated the pull request - view changes - changes since last import |
@ajkr has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
1 similar comment
@ajkr has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
These code paths forked when checkpoint was introduced by copy/pasting the core backup logic. Over time they diverged and bug fixes were sometimes applied to one but not the other (like fix to include all relevant WALs for 2PC), or it required extra effort to fix both (like fix to forge CURRENT file). This diff reunites the code paths by extracting the core logic into a function, CreateCustomCheckpoint(), that is customizable via callbacks to implement both checkpoint and backup.
Related changes: