Skip to content
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

PBM-1450 Added a note how node priorities interfere with incrementalb… #233

Merged
merged 2 commits into from
Dec 12, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions docs/features/incremental-backup.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,13 @@

## Implementation specifics

Percona Backup for MongoDB tracks the backup history only on the node where the base incremental backup was taken. This means that subsequent incremental backups must always be run on that very node. To make this happen, Percona Backup for MongoDB tries to schedule backups on that same node.
1. Percona Backup for MongoDB tracks the backup history only on the node where the base incremental backup was taken. This means that subsequent incremental backups must always be run on that very node. To make this happen, Percona Backup for MongoDB tries to schedule backups on that same node.

Check notice on line 28 in docs/features/incremental-backup.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/features/incremental-backup.md#L28

[Google.Passive] In general, use active voice instead of passive voice ('was taken').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('was taken').", "location": {"path": "docs/features/incremental-backup.md", "range": {"start": {"line": 28, "column": 108}}}, "severity": "INFO"}

Check notice on line 28 in docs/features/incremental-backup.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/features/incremental-backup.md#L28

[Google.Passive] In general, use active voice instead of passive voice ('be run').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('be run').", "location": {"path": "docs/features/incremental-backup.md", "range": {"start": {"line": 28, "column": 178}}}, "severity": "INFO"}

If the node with the base incremental backup is down or unavailable, you must start the incremental backup chain anew on another node.
If the node with the base incremental backup is down or unavailable, you must start the incremental backup chain anew on another node.

2. Adjusting node priorities for backup interferes with the default behaviour described above. If only a subset of nodes is listed for the priority, the remaining nodes receive the default priority 1 and it may happen that the incremental backup is taken not from the node where the base backup was taken.

Check warning on line 32 in docs/features/incremental-backup.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/features/incremental-backup.md#L32

[Google.WordList] Use 'preceding' instead of 'above'.
Raw output
{"message": "[Google.WordList] Use 'preceding' instead of 'above'.", "location": {"path": "docs/features/incremental-backup.md", "range": {"start": {"line": 32, "column": 89}}}, "severity": "WARNING"}

Check notice on line 32 in docs/features/incremental-backup.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/features/incremental-backup.md#L32

[Google.Passive] In general, use active voice instead of passive voice ('is listed').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is listed').", "location": {"path": "docs/features/incremental-backup.md", "range": {"start": {"line": 32, "column": 122}}}, "severity": "INFO"}

Check notice on line 32 in docs/features/incremental-backup.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/features/incremental-backup.md#L32

[Google.Passive] In general, use active voice instead of passive voice ('is taken').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is taken').", "location": {"path": "docs/features/incremental-backup.md", "range": {"start": {"line": 32, "column": 247}}}, "severity": "INFO"}

Check notice on line 32 in docs/features/incremental-backup.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/features/incremental-backup.md#L32

[Google.Passive] In general, use active voice instead of passive voice ('was taken').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('was taken').", "location": {"path": "docs/features/incremental-backup.md", "range": {"start": {"line": 32, "column": 296}}}, "severity": "INFO"}
nastena1606 marked this conversation as resolved.
Show resolved Hide resolved

To avoid this, make sure to either list all nodes in the priority list or least one node from every replica set .

[Make a backup](../usage/start-backup.md){ .md-button .md-button }
[Restore a backup](../usage/restore.md){ .md-button .md-button }
Expand Down
5 changes: 5 additions & 0 deletions docs/usage/start-backup.md
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,11 @@ If you haven’t listed any nodes for the `priority` option in the config, the n

As soon as you adjust node priorities in the configuration file, it is assumed that you take manual control over them. The default rule to prefer secondary nodes over primary stops working.

Adjusting node priority interferes the default flow for incremental backups, where PBM tries to schedule the incremental backup on happen on the same node that made the base backup. If you list only a subset of nodes in the priority list, the remaining nodes receive the default priority 1.0. This may result in the incremental backup being taken from a node that didn't make the base backup.

To workaround it, list either all nodes or at least a single node from every replica set in the priorities list.


This ability to adjust node priority helps you manage your backup strategy by selecting specific nodes or nodes from preferred data centers. In geographically distributed infrastructures, you can reduce network latency by making backups from nodes in geographically closest locations.

## Next steps
Expand Down