-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Separate backup and restore into two workloads [release-7.4] #12172
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
base: release-7.4
Are you sure you want to change the base?
Conversation
Result of foundationdb-pr-clang-arm on Linux CentOS 7
|
Result of foundationdb-pr-cluster-tests on Linux RHEL 9
|
Result of foundationdb-pr on Linux RHEL 9
|
Result of foundationdb-pr-clang on Linux RHEL 9
|
@@ -755,7 +755,7 @@ For **RHEL/CentOS**, perform the upgrade using the rpm command: | |||
user@host$ sudo rpm -Uvh |package-rpm-clients| \\ | |||
|package-rpm-server| | |||
|
|||
The ``foundationdb-clients`` package also installs the :doc:`C <api-c>` API. If your clients use :doc:`Ruby <api-ruby>`, :doc:`Python <api-python>`, `Java <javadoc/index.html>`_, or `Go <https://godoc.org/github.com/apple/foundationdb/bindings/go/src/fdb>`_, follow the instructions in the corresponding language documentation to install the APIs. | |||
The ``foundationdb-clients`` package also installs the :doc:`C <api-c>` API. If your clients use :doc:`Ruby <api-ruby>`, :doc:`Python <api-python>`, `Java <https://www.javadoc.io/doc/org.foundationdb/fdb-java/latest/index.html>`_, or `Go <https://godoc.org/github.com/apple/foundationdb/bindings/go/src/fdb>`_, follow the instructions in the corresponding language documentation to install the APIs. |
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.
Is this change supposed to be in here? It is from another PR?
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.
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.
No. I build on top of the other PR, will rebase after that one is merged.
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.
LGTM
@@ -755,7 +755,7 @@ For **RHEL/CentOS**, perform the upgrade using the rpm command: | |||
user@host$ sudo rpm -Uvh |package-rpm-clients| \\ | |||
|package-rpm-server| | |||
|
|||
The ``foundationdb-clients`` package also installs the :doc:`C <api-c>` API. If your clients use :doc:`Ruby <api-ruby>`, :doc:`Python <api-python>`, `Java <javadoc/index.html>`_, or `Go <https://godoc.org/github.com/apple/foundationdb/bindings/go/src/fdb>`_, follow the instructions in the corresponding language documentation to install the APIs. | |||
The ``foundationdb-clients`` package also installs the :doc:`C <api-c>` API. If your clients use :doc:`Ruby <api-ruby>`, :doc:`Python <api-python>`, `Java <https://www.javadoc.io/doc/org.foundationdb/fdb-java/latest/index.html>`_, or `Go <https://godoc.org/github.com/apple/foundationdb/bindings/go/src/fdb>`_, follow the instructions in the corresponding language documentation to install the APIs. |
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.
This allows more flexible testing as well as cleaner code.
Otherwise, the Restore workload doesn't have agents, thus can't make progress. 100k partitioned restore tests, i.e., BackupAndRestore.toml and BackupCorrectnessPartitioned.toml: 20250311-200411-jzhou-9d34d22d5225d6fe
Instead, infer the flag from backup description.
This allows us to specify old or new style of backup to be used. Added two tests that switch between them and randomly choose one backup to restore. 20250314-034057-jzhou-c27ca23b6c69cecf
20250314-034541-jzhou-13ed090d0b111474
Because we separate backup and restore into two workloads, they may not choose the same encryption option, i.e., one encrypted and the other unencrypted. 20250320-013757-jzhou-12b4c8e4504ffd96
20250321-222324-jzhou-fdcd6f145f3ac0f8
This can cause subsequent backup and restore workload to fail. 20250322-040333-jzhou-15c32299d18f4456 100k backup tests: 20250322-040453-jzhou-2bdb4e0ddc265632
If done version by version, it is inefficient and causes the task to be interrupted in simulation, thus never finishing the RestoreLogDataPartitionedTaskFunc. 20250324-040712-jzhou-cd8501d3890a6b56 100k backup tests: 20250324-040751-jzhou-8cec93182e6d3acb
20250326-182125-jzhou-375d243c097c3b5a 20250325-221139-jzhou-5dac71c4525d414c 100k backup tests: 20250326-162525-jzhou-f08e3fc12887a3e9
Do these checks in the last [[test]] specified in TOML file.
Currently, when submitting backup, backup workers will be enabled for partitioned backups. However, we didn't clear the backup worker setting if no partitioned backup is active, which will cause backup workers to be recruited, but doing nothing. This PR changes the behavior so that when submitting, aborting, or discontinuing backups, we'll disable backup workers if there is no active partitioned backup jobs. 20250517-162642-jzhou-4966348e89f1794d 20250517-044345-jzhou-f02f7defca3ea010
The continuous log end version could be less than min restorable version, when the snapshot is a single version. I.e., min and max restorable versions are the same. 20250519-042009-jzhou-88a2e0c67e8bed92 100k backup tests 20250519-155545-jzhou-c0aeaaf4a933cff9
Also consolidate key updates for pausing backups. 20250520-175022-jzhou-10106ade7e0ad74f 100k backup 20250520-175208-jzhou-15255334e0c57eec
Result of foundationdb-pr-clang-arm on Linux CentOS 7
|
Result of foundationdb-pr-clang on Linux RHEL 9
|
Result of foundationdb-pr on Linux RHEL 9
|
Result of foundationdb-pr-cluster-tests on Linux RHEL 9
|
cherrypick #12019
500k 20250529-164118-jzhou-f9ad7b51ff17829d
Code-Reviewer Section
The general pull request guidelines can be found here.
Please check each of the following things and check all boxes before accepting a PR.
For Release-Branches
If this PR is made against a release-branch, please also check the following:
release-branch
ormain
if this is the youngest branch)