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
fix: do not retake backup if it already exists #12626
Merged
Merged
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
Previously, we were only checking for backups taken by this node. However, there could be backups taken by another node. For example, after restore the checkpoint record is processed again, but it must not re-take the backup. To prevent that, we should check for all backups with the given backup id.
Updated the test to remove mocking of InProgressBackup. The existing test was updated to use list instead of getStatus to find duplicate backups.
deepthidevaki
added
backport stable/8.1
backport stable/8.2
Backport a pull request to 8.2.x
labels
May 2, 2023
oleschoenburg
approved these changes
May 3, 2023
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.
Nice and simple solution, thanks @deepthidevaki 👍
backup/src/main/java/io/camunda/zeebe/backup/management/BackupServiceImpl.java
Outdated
Show resolved
Hide resolved
deepthidevaki
force-pushed
the
dd-12623-backup
branch
from
May 3, 2023 13:55
7596775
to
cbb2d5e
Compare
Co-authored-by: Ole Schönburg <ole.schoenburg@gmail.com>
deepthidevaki
force-pushed
the
dd-12623-backup
branch
from
May 3, 2023 13:56
cbb2d5e
to
65e08d9
Compare
bors merge |
Build succeeded: |
Backport failed for Please cherry-pick the changes locally. git fetch origin stable/8.1
git worktree add -d .worktree/backport-12626-to-stable/8.1 origin/stable/8.1
cd .worktree/backport-12626-to-stable/8.1
git checkout -b backport-12626-to-stable/8.1
ancref=$(git merge-base 24edda5fbd313a209370b7a7f7c2f9f700c28d3d 65e08d97ea7530e4d554e48dde53a89ebb516f9e)
git cherry-pick -x $ancref..65e08d97ea7530e4d554e48dde53a89ebb516f9e |
Successfully created backport PR for |
zeebe-bors-camunda bot
added a commit
that referenced
this pull request
May 3, 2023
12656: [Backport stable/8.2] fix: do not retake backup if it already exists r=deepthidevaki a=backport-action # Description Backport of #12626 to `stable/8.2`. relates to #12623 Co-authored-by: Deepthi Devaki Akkoorath <deepthidevaki@gmail.com> Co-authored-by: Deepthi Devaki Akkoorath <deepthidevaki@users.noreply.github.com>
zeebe-bors-camunda bot
added a commit
that referenced
this pull request
May 4, 2023
12662: [Backport stable/8.1] fix: do not retake backup if it already exists r=oleschoenburg a=deepthidevaki Backport of #12626 to stable/8.1. relates to #12623 Co-authored-by: Deepthi Devaki Akkoorath <deepthidevaki@gmail.com> Co-authored-by: Deepthi Devaki Akkoorath <deepthidevaki@users.noreply.github.com>
zeebe-bors-camunda bot
added a commit
that referenced
this pull request
May 4, 2023
12662: [Backport stable/8.1] fix: do not retake backup if it already exists r=deepthidevaki a=deepthidevaki Backport of #12626 to stable/8.1. relates to #12623 12665: [Backport stable/8.1] refactor(snapshots): Replace `Stream.toList` and the for each cycle to `Stream.forEachOrdered` r=deepthidevaki a=backport-action # Description Backport of #12576 to `stable/8.1`. relates to #12575 Co-authored-by: Deepthi Devaki Akkoorath <deepthidevaki@gmail.com> Co-authored-by: Deepthi Devaki Akkoorath <deepthidevaki@users.noreply.github.com> Co-authored-by: Alexey Vinogradov <vinogradov.a.i.93@gmail.com>
oleschoenburg
added
the
version:8.2.5
Marks an issue as being completely or in parts released in 8.2.5
label
May 16, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
backport stable/8.2
Backport a pull request to 8.2.x
version:8.2.5
Marks an issue as being completely or in parts released in 8.2.5
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
In this PR, we check if the backup exists for that partition by listing using the wildcard. This returns the backups taken by other nodes as well. The backup is taken only if no backup exists for that partition with the same checkpointId. Previiously, we were checking using the full backupId which included the nodeId, so it can only find the backup taken by the same node. This is not ideal, because it can result in duplicate unnecessary backups, for example after restoring from a backup.
Related issues
closes #12623
Definition of Done
Not all items need to be done depending on the issue and the pull request.
Code changes:
backport stable/1.3
) to the PR, in case that fails you need to create backports manually.Testing:
Documentation:
Other teams:
If the change impacts another team an issue has been created for this team, explaining what they need to do to support this change.
Please refer to our review guidelines.