Skip to content

Add stress & compatibility tests for Node Broker Delta Protocol #20934

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

Merged
merged 6 commits into from
Jul 11, 2025

Conversation

pixcc
Copy link
Member

@pixcc pixcc commented Jul 10, 2025

Changelog category

  • Not for changelog (changelog entry is not required)

Description for reviewers

Этот PR добавляет стресс тесты и тесты совместимости для дельта протокола в Node Broker #11064.

  • Добавлен класс стресс-тестирования TestDeltaProtocol для проверки дельта протокола под нагрузкой
  • Добавлен файл test_node_broker_delta_protocol.py с тестами со смешанным кластером, перезапуском и rolling обновлением. Тесты не работают с версиями младше 25-1 из-за проблем с применением динамического конфига в тестовом окружении.
  • Обновлен файл ya.make, чтобы включить в него новый файл с тестами совместимости

@pixcc pixcc requested a review from Copilot July 10, 2025 11:16
@pixcc pixcc linked an issue Jul 10, 2025 that may be closed by this pull request
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds stress and compatibility testing for the Node Broker Delta Protocol by introducing a new stress test workload and a suite of compatibility tests covering mixed clusters, version restarts, and rolling upgrades.

  • Added TestDeltaProtocol stress test class to exercise delta protocol under load
  • Updated ya.make to include the new compatibility test file
  • Introduced test_node_broker_delta_protocol.py with fixtures for mixed cluster, restart, and rolling upgrade scenarios

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
ydb/tests/stress/node_broker/tests/test_workload.py Added TestDeltaProtocol class to run stress workloads with delta protocol enabled
ydb/tests/compatibility/ya.make Registered test_node_broker_delta_protocol.py in TEST_SRCS
ydb/tests/compatibility/test_node_broker_delta_protocol.py New compatibility tests for Node Broker Delta Protocol across various upgrade paths
Comments suppressed due to low confidence (2)

ydb/tests/stress/node_broker/tests/test_workload.py:35

  • [nitpick] The class name TestDeltaProtocol is quite generic. Consider renaming it to TestNodeBrokerDeltaProtocolWorkload to clearly indicate its purpose and align with other test naming.
class TestDeltaProtocol(object):

ydb/tests/compatibility/test_node_broker_delta_protocol.py:14

  • Initializing next_port to 0 will attempt node registration on port 0, which is reserved. Consider starting from a valid port range or deriving a free port dynamically to avoid invalid registrations.
        self.next_port = 0

Copy link

github-actions bot commented Jul 10, 2025

🟢 2025-07-11 08:27:40 UTC The validation of the Pull Request description is successful.

@pixcc pixcc marked this pull request as ready for review July 10, 2025 11:21
@pixcc pixcc requested a review from maximyurchuk July 10, 2025 11:24
Copy link

github-actions bot commented Jul 10, 2025

2025-07-10 11:29:34 UTC Pre-commit check linux-x86_64-release-asan for 5d9489a has started.
2025-07-10 11:29:48 UTC Artifacts will be uploaded here
2025-07-10 11:32:22 UTC ya make is running...
🟡 2025-07-10 11:38:41 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
21 19 0 2 0 0

🟢 2025-07-10 11:38:47 UTC Build successful.
🟢 2025-07-10 11:39:01 UTC ydbd size 3.9 GiB changed* by +23.7 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: c9ee256 merge: 5d9489a diff diff %
ydbd size 4 203 699 456 Bytes 4 203 723 760 Bytes +23.7 KiB +0.001%
ydbd stripped size 1 456 179 160 Bytes 1 456 186 520 Bytes +7.2 KiB +0.001%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

Copy link

github-actions bot commented Jul 10, 2025

2025-07-10 11:31:52 UTC Pre-commit check linux-x86_64-relwithdebinfo for 5d9489a has started.
2025-07-10 11:32:06 UTC Artifacts will be uploaded here
2025-07-10 11:34:42 UTC ya make is running...
🟡 2025-07-10 11:40:12 UTC Some tests failed, follow the links below. Going to retry failed tests...

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
25 23 0 2 0 0

2025-07-10 11:40:22 UTC ya make is running... (failed tests rerun, try 2)
🟡 2025-07-10 11:41:24 UTC Some tests failed, follow the links below. Going to retry failed tests...

Test history | Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
4 (only retried tests) 2 0 2 0 0

2025-07-10 11:41:33 UTC ya make is running... (failed tests rerun, try 3)
🔴 2025-07-10 11:42:27 UTC Some tests failed, follow the links below.

Test history | Ya make output | Test bloat | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
4 (only retried tests) 2 0 2 0 0

🟢 2025-07-10 11:42:34 UTC Build successful.
🟢 2025-07-10 11:42:45 UTC ydbd size 2.2 GiB changed* by +12.9 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: c9ee256 merge: 5d9489a diff diff %
ydbd size 2 390 534 128 Bytes 2 390 547 352 Bytes +12.9 KiB +0.001%
ydbd stripped size 500 046 056 Bytes 500 048 680 Bytes +2.6 KiB +0.001%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@pixcc pixcc force-pushed the stress-compatibility-tests branch from d28836b to 2af67be Compare July 10, 2025 11:45
Copy link

github-actions bot commented Jul 10, 2025

2025-07-10 12:33:02 UTC Pre-commit check linux-x86_64-relwithdebinfo for 74195a9 has started.
2025-07-10 12:33:06 UTC Artifacts will be uploaded here
2025-07-10 12:35:38 UTC ya make is running...
🟡 2025-07-10 12:42:03 UTC Some tests failed, follow the links below. Going to retry failed tests...

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
25 24 0 1 0 0

2025-07-10 12:42:12 UTC ya make is running... (failed tests rerun, try 2)
🟡 2025-07-10 12:49:27 UTC Some tests failed, follow the links below. Going to retry failed tests...

Test history | Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
2 (only retried tests) 1 0 1 0 0

2025-07-10 12:49:35 UTC ya make is running... (failed tests rerun, try 3)
🔴 2025-07-10 12:56:05 UTC Some tests failed, follow the links below.

Test history | Ya make output | Test bloat | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
2 (only retried tests) 1 0 1 0 0

🟢 2025-07-10 12:56:14 UTC Build successful.
🟡 2025-07-10 12:56:25 UTC ydbd size 2.2 GiB changed* by +727.8 KiB, which is >= 100.0 KiB vs main: Warning

ydbd size dash main: 18cc794 merge: 74195a9 diff diff %
ydbd size 2 390 547 480 Bytes 2 391 292 752 Bytes +727.8 KiB +0.031%
ydbd stripped size 500 048 744 Bytes 500 120 360 Bytes +69.9 KiB +0.014%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

Copy link

github-actions bot commented Jul 10, 2025

2025-07-10 12:33:38 UTC Pre-commit check linux-x86_64-release-asan for 74195a9 has started.
2025-07-10 12:33:52 UTC Artifacts will be uploaded here
2025-07-10 12:36:25 UTC ya make is running...
🟡 2025-07-10 12:45:41 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
21 20 0 1 0 0

🟢 2025-07-10 12:45:49 UTC Build successful.
🟡 2025-07-10 12:46:02 UTC ydbd size 3.9 GiB changed* by +1.1 MiB, which is >= 100.0 KiB vs main: Warning

ydbd size dash main: 18cc794 merge: 74195a9 diff diff %
ydbd size 4 203 723 888 Bytes 4 204 860 488 Bytes +1.1 MiB +0.027%
ydbd stripped size 1 456 186 584 Bytes 1 456 392 664 Bytes +201.2 KiB +0.014%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@pixcc pixcc force-pushed the stress-compatibility-tests branch from 2b88009 to e3d9613 Compare July 10, 2025 13:07
Copy link

github-actions bot commented Jul 10, 2025

2025-07-10 13:09:31 UTC Pre-commit check linux-x86_64-release-asan for 103b2ea has started.
2025-07-10 13:09:44 UTC Artifacts will be uploaded here
2025-07-10 13:12:12 UTC ya make is running...
🟢 2025-07-10 13:31:09 UTC Tests successful.

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
21 21 0 0 0 0

🟢 2025-07-10 13:31:16 UTC Build successful.
🔴 2025-07-10 13:31:31 UTC ydbd size 3.9 GiB changed* by +2.8 MiB, which is >= 2.0 MiB vs main: Alert

ydbd size dash main: 18cc794 merge: 103b2ea diff diff %
ydbd size 4 203 723 888 Bytes 4 206 610 160 Bytes +2.8 MiB +0.069%
ydbd stripped size 1 456 186 584 Bytes 1 456 810 232 Bytes +609.0 KiB +0.043%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

Copy link

github-actions bot commented Jul 10, 2025

2025-07-10 13:09:41 UTC Pre-commit check linux-x86_64-relwithdebinfo for 103b2ea has started.
2025-07-10 13:09:55 UTC Artifacts will be uploaded here
2025-07-10 13:12:29 UTC ya make is running...
🟢 2025-07-10 13:32:32 UTC Tests successful.

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
25 25 0 0 0 0

🟢 2025-07-10 13:32:39 UTC Build successful.
🟡 2025-07-10 13:32:49 UTC ydbd size 2.2 GiB changed* by +1.7 MiB, which is >= 100.0 KiB vs main: Warning

ydbd size dash main: 95be86a merge: 103b2ea diff diff %
ydbd size 2 390 547 352 Bytes 2 392 310 528 Bytes +1.7 MiB +0.074%
ydbd stripped size 500 048 680 Bytes 500 265 384 Bytes +211.6 KiB +0.043%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@pixcc pixcc force-pushed the stress-compatibility-tests branch from f7aa768 to e908d03 Compare July 11, 2025 08:21
@pixcc pixcc requested a review from PavelEfarinov July 11, 2025 08:22
Copy link

github-actions bot commented Jul 11, 2025

2025-07-11 08:23:04 UTC Pre-commit check linux-x86_64-release-asan for be20cba has started.
2025-07-11 08:23:42 UTC Artifacts will be uploaded here
2025-07-11 08:26:55 UTC ya make is running...
🟢 2025-07-11 08:33:41 UTC Tests successful.

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
21 21 0 0 0 0

🟢 2025-07-11 08:33:48 UTC Build successful.
🟢 2025-07-11 08:34:03 UTC ydbd size 3.9 GiB changed* by +3.1 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: d5517f7 merge: be20cba diff diff %
ydbd size 4 208 168 104 Bytes 4 208 171 320 Bytes +3.1 KiB +0.000%
ydbd stripped size 1 457 439 160 Bytes 1 457 440 632 Bytes +1.4 KiB +0.000%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

Copy link

github-actions bot commented Jul 11, 2025

2025-07-11 08:25:10 UTC Pre-commit check linux-x86_64-relwithdebinfo for be20cba has started.
2025-07-11 08:25:24 UTC Artifacts will be uploaded here
2025-07-11 08:27:48 UTC ya make is running...
🟢 2025-07-11 08:33:45 UTC Tests successful.

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
25 25 0 0 0 0

🟢 2025-07-11 08:33:52 UTC Build successful.
🟢 2025-07-11 08:34:01 UTC ydbd size 2.2 GiB changed* by -696 Bytes, which is <= 0 Bytes vs main: OK

ydbd size dash main: d5517f7 merge: be20cba diff diff %
ydbd size 2 393 139 144 Bytes 2 393 138 448 Bytes -696 Bytes -0.000%
ydbd stripped size 500 451 080 Bytes 500 451 592 Bytes +512 Bytes +0.000%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@pixcc pixcc merged commit a4d772a into ydb-platform:main Jul 11, 2025
14 checks passed
@serbel324 serbel324 mentioned this pull request Jul 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add stress & compatibility tests for Node Broker Delta Protocol
2 participants