-
Notifications
You must be signed in to change notification settings - Fork 714
Add tests with reboots for incremental backups #21534
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
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.
Pull Request Overview
Adds reboot testing for incremental backup functionality to ensure robustness during system restarts. The implementation creates a new test suite specifically for continuous backups with system reboots and extends existing backup collection tests with incremental backup scenarios.
- Adds new continuous backup reboot test suite with core operations (create, alter, drop)
- Implements reboot testing for incremental backup scenarios including single and multiple backups
- Extends backup collection tests with incremental backup configurations and multi-table scenarios
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
ydb/core/tx/schemeshard/ya.make | Adds the new continuous backup reboots test directory to the build |
ydb/core/tx/schemeshard/ut_helpers/ls_checks.h | Declares new ExtractChildren helper function for test validation |
ydb/core/tx/schemeshard/ut_helpers/ls_checks.cpp | Implements ExtractChildren function to extract child path names |
ydb/core/tx/schemeshard/ut_continuous_backup_reboots/ya.make | Creates build configuration for the new continuous backup reboots test suite |
ydb/core/tx/schemeshard/ut_continuous_backup_reboots/ut_continuous_backup_reboots.cpp | Implements comprehensive reboot tests for continuous backup operations |
ydb/core/tx/schemeshard/ut_backup_collection_reboots/ut_backup_collection_reboots.cpp | Extends backup collection tests with incremental backup scenarios and multi-table support |
Comments suppressed due to low confidence (1)
ydb/core/tx/schemeshard/ut_continuous_backup_reboots/ut_continuous_backup_reboots.cpp:16
- [nitpick] The test suite name 'TContinuousBackupWithRebootsTests' is inconsistent with the file name pattern. Consider using 'TContinuousBackupRebootsTests' to match the directory name 'ut_continuous_backup_reboots'.
Y_UNIT_TEST_SUITE(TContinuousBackupWithRebootsTests) {
ydb/core/tx/schemeshard/ut_backup_collection_reboots/ut_backup_collection_reboots.cpp
Outdated
Show resolved
Hide resolved
🟢 |
⚪ Test history | Ya make output | Test bloat
🟢 |
⚪ Test history | Ya make output | Test bloat
🟢 |
0a1a834
to
36ba245
Compare
⚪ Test history | Ya make output | Test bloat
🟢 |
⚪ Test history | Ya make output | Test bloat
🟢 |
t.TestEnv->TestWaitNotification(runtime, txId); | ||
} | ||
|
||
TestCreateContinuousBackup(runtime, ++txId, "/MyRoot", R"( |
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.
Если такой многоступенчатый тест укладывается в таймаут, то хорошо. Но обычно мы стараемся тесты с ребутами делать максимально точечными, т.к. иначе в них возникает слишком много комбинаций для перебора.
Changelog category
Description for reviewers
PR добавляет 8 тест‑кейсов, проверяющих устойчивость инкрементальных бекапов к рестартам:
Новые тест-кейсы для бекап коллекции:
BackupBackupCollectionWithReboots
- полный бэкап коллекции переживает рестартыBackupIncrementalBackupCollectionWithReboots
- инкрементальный бекап коллекции переживает рестартыBackupCycleBackupCollectionWithReboots
- два цикла «full + 2 incremental» подряд при перезапускахBackupCycleMultiTableBackupCollectionWithReboots
- два цикла «full + 2 incremental» подряд при перезапусках, но для коллекции из двух таблицBackupCycleWithDataBackupCollectionWithReboots
- два цикла «full + 2 incremental» подряд при перезапусках, но вместе с загрузкой данных в таблицуНовые тест-кейсы отдельно для continuous-backup-стрима:
Basic
- Create → Stop → Drop на continuous-backup-стриме с рестартамиTakeIncrementalBackup
- ротация стримов и offload одного стрима в инкрементальную таблицу с рестартамиTakeSeveralIncrementalBackups
- каскад из трёх ротаций стримов и offload в инкрементальную таблицу с рестартами