Repository: ydb-platform/ydb
Pull request #18708: Compatibility: also test 25-1 + 24-4
Author: login: maximyurchuk
Created: 2025-05-22T20:01:20Z | Merged: 2025-05-23T13:13:40Z

This PR expands compatibility testing by adding support for testing binaries 25-1 and 24-4 and updates parameter naming to improve clarity.

Introduces new binary paths and associated names for prelast stable versions.
Updates test fixtures and downloader scripts to accommodate the new arguments and binary naming.

#18603



Diff:
diff --git a/ydb/tests/library/compatibility/binaries/downloader/__main__.py b/ydb/tests/library/compatibility/binaries/downloader/__main__.py
index d85a4fd08898..f1df08a32176 100644
--- a/ydb/tests/library/compatibility/binaries/downloader/__main__.py
+++ b/ydb/tests/library/compatibility/binaries/downloader/__main__.py
@@ -20,12 +20,16 @@ def main():
     s3_bucket = AWS_BUCKET
     remote_src = sys.argv[1]
     local_dst = sys.argv[2]
+    binary_name = sys.argv[3]
     s3_client.download_file(s3_bucket, remote_src, local_dst)
 
     # chmod +x
     st = os.stat(local_dst)
     os.chmod(local_dst, st.st_mode | stat.S_IEXEC)
 
+    with open(local_dst + "-name", "w") as f:
+        f.write(binary_name)
+
 
 if __name__ == "__main__":
     main()
diff --git a/ydb/tests/library/compatibility/binaries/ya.make b/ydb/tests/library/compatibility/binaries/ya.make
index f4c89d695efd..2d4e6c96eb15 100644
--- a/ydb/tests/library/compatibility/binaries/ya.make
+++ b/ydb/tests/library/compatibility/binaries/ya.make
@@ -3,13 +3,13 @@ RECURSE(downloader)
 UNION()
 
 RUN_PROGRAM(
-    ydb/tests/library/compatibility/binaries/downloader stable-25-1/release/ydbd ydbd-last-stable
-    OUT_NOAUTO ydbd-last-stable
+    ydb/tests/library/compatibility/binaries/downloader stable-25-1/release/ydbd ydbd-last-stable 25-1
+    OUT_NOAUTO ydbd-last-stable ydbd-last-stable-name
 )
 
 RUN_PROGRAM(
-    ydb/tests/library/compatibility/binaries/downloader stable-24-4/release/ydbd ydbd-prelast-stable
-    OUT_NOAUTO ydbd-prelast-stable
+    ydb/tests/library/compatibility/binaries/downloader stable-24-4/release/ydbd ydbd-prelast-stable 24-4
+    OUT_NOAUTO ydbd-prelast-stable ydbd-prelast-stable-name
 )
 
 END()
diff --git a/ydb/tests/library/compatibility/fixtures.py b/ydb/tests/library/compatibility/fixtures.py
index cf1c42a7bcd3..2b59a3f0abb9 100644
--- a/ydb/tests/library/compatibility/fixtures.py
+++ b/ydb/tests/library/compatibility/fixtures.py
@@ -10,20 +10,36 @@
 from ydb.tests.oss.ydb_sdk_import import ydb
 
 
-last_stable_binary_path = yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-last-stable")
 current_binary_path = kikimr_driver_path()
+last_stable_binary_path = yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-last-stable")
+prelast_stable_binary_path = yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-prelast-stable")
+
+current_name = "current"
+last_stable_name = "last"
+if last_stable_binary_path is not None:  # in import_test yatest.common.binary_path returns None
+    last_stable_name = open(yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-last-stable-name")).read().strip()
+prelast_stable_name = "prelast"
+if prelast_stable_binary_path:  # in import_test yatest.common.binary_path returns None
+    prelast_stable_name = open(yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-prelast-stable-name")).read().strip()
+
 
 all_binary_combinations_restart = [
     [[last_stable_binary_path], [current_binary_path]],
-    [[last_stable_binary_path], [last_stable_binary_path, current_binary_path]],
     [[current_binary_path], [last_stable_binary_path]],
     [[current_binary_path], [current_binary_path]],
+
+    [[prelast_stable_binary_path], [last_stable_binary_path]],
+    [[last_stable_binary_path], [prelast_stable_binary_path]],
+    [[last_stable_binary_path], [last_stable_binary_path]],
 ]
 all_binary_combinations_ids_restart = [
-    "last_stable_to_current",
-    "last_stable_to_current_mixed",
-    "current_to_last_stable",
-    "current_to_current",
+    last_stable_name + "_to_" + current_name,
+    current_name + "_to_" + last_stable_name,
+    current_name + "_to_" + current_name,
+
+    prelast_stable_name + "_to_" + last_stable_name,
+    last_stable_name + "_to_" + prelast_stable_name,
+    last_stable_name + "_to_" + last_stable_name,
 ]
 
 
@@ -81,11 +97,13 @@ def change_cluster_version(self):
     [current_binary_path],
     [last_stable_binary_path],
     [current_binary_path, last_stable_binary_path],
+    [last_stable_binary_path, prelast_stable_binary_path],
 ]
 all_binary_combinations_ids_mixed = [
-    "current",
-    "last_stable",
-    "current_and_last_stable",
+    current_name,
+    last_stable_name,
+    current_name + "_and_" + last_stable_name,
+    last_stable_name + "_and_" + prelast_stable_name,
 ]
 
 
@@ -116,15 +134,26 @@ def setup_cluster(self, **kwargs):
         self.cluster.stop()
 
 
+all_binary_combinations_rolling = [
+    [last_stable_binary_path, current_binary_path],
+    [prelast_stable_binary_path, last_stable_binary_path],
+]
+all_binary_combinations_ids_rolling = [
+    last_stable_name + "_to_" + current_name,
+    prelast_stable_name + "_to_" + last_stable_name,
+]
+
+
 class RollingUpgradeAndDowngradeFixture:
-    @pytest.fixture(autouse=True)
-    def base_setup(self):
-        self.all_binary_paths = [last_stable_binary_path]
+    @pytest.fixture(autouse=True, params=all_binary_combinations_rolling, ids=all_binary_combinations_ids_rolling)
+    def base_setup(self, request):
+        self.all_binary_paths = request.param
 
     def setup_cluster(self, **kwargs):
         self.config = KikimrConfigGenerator(
             erasure=Erasure.MIRROR_3_DC,
-            binary_paths=self.all_binary_paths,
+            binary_paths=[self.all_binary_paths[0]]
+            ,
             **kwargs,
         )
 
@@ -146,14 +175,15 @@ def roll(self):
         # from old to new
         for node_id, node in self.cluster.nodes.items():
             node.stop()
-            node.binary_path = current_binary_path
+            node.binary_path = self.all_binary_paths[1]
             node.start()
             yield
 
         # from new to old
         for node_id, node in self.cluster.nodes.items():
             node.stop()
-            node.binary_path = last_stable_binary_path
+            node.binary_path = self.all_binary_paths[0]
+
             node.start()
             yield
 


Reviews:
user: login: copilot-pull-request-reviewer[bot]
body: ## Pull Request Overview

This PR expands compatibility testing by adding support for testing binaries 25-1 and 24-4 and updates parameter naming to improve clarity.  
- Introduces new binary paths and associated names for prelast stable versions.  
- Updates test fixtures and downloader scripts to accommodate the new arguments and binary naming.

### Reviewed Changes

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

| File | Description |
| ---- | ----------- |
| ydb/tests/library/compatibility/fixtures.py | Updated binary combination arrays and test fixture configurations to include the new prelast stable binary and improved naming. |
| ydb/tests/library/compatibility/binaries/ya.make | Modified binary download commands to pass additional version arguments and generate corresponding name files. |
| ydb/tests/library/compatibility/binaries/downloader/__main__.py | Adjusted downloader to accept a binary name argument and write it to a name file. |




state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-23T12:26:52Z
user: login: iddqdex
state: DISMISSED
author_association: COLLABORATOR
submitted_at: 2025-05-23T12:36:17Z
user: login: naspirato
state: DISMISSED
author_association: COLLABORATOR
submitted_at: 2025-05-23T12:57:24Z
user: login: iddqdex
state: APPROVED
author_association: COLLABORATOR
submitted_at: 2025-05-23T13:13:39Z
user: login: naspirato
state: APPROVED
author_association: COLLABORATOR
submitted_at: 2025-05-23T13:13:42Z

Review comments:
diff_hunk: @@ -10,20 +10,37 @@
 from ydb.tests.oss.ydb_sdk_import import ydb
 
 
-last_stable_binary_path = yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-last-stable")
 current_binary_path = kikimr_driver_path()
+last_stable_binary_path = yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-last-stable")
+prelast_stable_binary_path = yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-prelast-stable")
+
+current_name = "current"
+last_stable_name = None
+if last_stable_binary_path is not None:  # in import_test yatest.common.binary_path returns None
+    last_stable_name = open(yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-last-stable-name")).read().strip()
+prelast_stable_name = None
+if prelast_stable_binary_path:  # in import_test yatest.common.binary_path returns None
+    prelast_stable_name = open(yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-prelast-stable-name")).read().strip()
path: ydb/tests/library/compatibility/fixtures.py
user: login: Copilot
body: Consider using a context manager (with block) when opening the file to ensure it is properly closed even if an exception occurs.
```suggestion
    with open(yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-last-stable-name")) as f:
        last_stable_name = f.read().strip()
prelast_stable_name = None
if prelast_stable_binary_path:  # in import_test yatest.common.binary_path returns None
    with open(yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-prelast-stable-name")) as f:
        prelast_stable_name = f.read().strip()
```
created_at: 2025-05-23T12:26:51Z
author_association: CONTRIBUTOR
diff_hunk: @@ -10,20 +10,37 @@
 from ydb.tests.oss.ydb_sdk_import import ydb
 
 
-last_stable_binary_path = yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-last-stable")
 current_binary_path = kikimr_driver_path()
+last_stable_binary_path = yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-last-stable")
+prelast_stable_binary_path = yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-prelast-stable")
+
+current_name = "current"
+last_stable_name = None
+if last_stable_binary_path is not None:  # in import_test yatest.common.binary_path returns None
+    last_stable_name = open(yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-last-stable-name")).read().strip()
+prelast_stable_name = None
+if prelast_stable_binary_path:  # in import_test yatest.common.binary_path returns None
+    prelast_stable_name = open(yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-prelast-stable-name")).read().strip()
+
 
 all_binary_combinations_restart = [
     [[last_stable_binary_path], [current_binary_path]],
-    [[last_stable_binary_path], [last_stable_binary_path, current_binary_path]],
     [[current_binary_path], [last_stable_binary_path]],
     [[current_binary_path], [current_binary_path]],
+
+    [[prelast_stable_binary_path], [last_stable_binary_path]],
+    [[last_stable_binary_path], [prelast_stable_binary_path]],
+    [[last_stable_binary_path], [last_stable_binary_path]],
 ]
 all_binary_combinations_ids_restart = [
-    "last_stable_to_current",
-    "last_stable_to_current_mixed",
-    "current_to_last_stable",
-    "current_to_current",
+    last_stable_name + "_to_" + current_name,
path: ydb/tests/library/compatibility/fixtures.py
user: login: Copilot
body: There appears to be duplicate id entries in the binary combinations for restart; if the duplication is not intentional for testing, consider removing redundant entries.
created_at: 2025-05-23T12:26:51Z
author_association: CONTRIBUTOR

PR comments:
user: login: github-actions[bot]
created_at: 2025-05-22T20:04:29Z
body: <!-- status pr=18708, validate PR description status -->
:green_circle: `2025-05-26 10:47:04 UTC` The validation of the Pull Request description is successful.
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-22T20:10:00Z
body: <!-- status pr=18708, preset=relwithdebinfo, run=43869 -->
:white_circle: `2025-05-22 20:10:00 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15195714329/job/42739495461) **linux-x86_64-relwithdebinfo** for 8b77beda8c7eb17b2f0864317ad72b1ff188ed19 has started.
:white_circle: `2025-05-22 20:10:10 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15195714329/ya-x86-64/index.html)
:white_circle: `2025-05-22 20:12:24 UTC` ya make is running...
:green_circle: `2025-05-22 20:13:42 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/165935) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15195714329/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15195714329/ya-x86-64/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [17](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15195714329/ya-x86-64/try_1/ya-test.html) | [17](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15195714329/ya-x86-64/try_1/ya-test.html#PASS) | 0 | 0 | 0 | 0 |

:green_circle: `2025-05-22 20:13:50 UTC` Build successful.
:green_circle: `2025-05-22 20:14:00 UTC` ydbd size **2.2 GiB** changed* by **-32 Bytes**, which is <= 0 Bytes vs main: **OK**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: 6cb271e52c35ea2045ac0ab63599a8043cde0070 |merge: 8b77beda8c7eb17b2f0864317ad72b1ff188ed19 |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**2 357 264 368** Bytes |**2 357 264 336** Bytes|**-32 Bytes**|**-0.000%**|
|ydbd stripped size|**495 229 832** Bytes|**495 229 768** Bytes|**-64 Bytes**|**-0.000%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/6cb271e52c35ea2045ac0ab63599a8043cde0070..8b77beda8c7eb17b2f0864317ad72b1ff188ed19)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-22T20:10:18Z
body: <!-- status pr=18708, preset=release-asan, run=43869 -->
:white_circle: `2025-05-22 20:10:18 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15195714329/job/42739495473) **linux-x86_64-release-asan** for 8b77beda8c7eb17b2f0864317ad72b1ff188ed19 has started.
:white_circle: `2025-05-22 20:10:29 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15195714329/ya-x86-64-asan/index.html)
:white_circle: `2025-05-22 20:12:53 UTC` ya make is running...
:green_circle: `2025-05-22 20:14:36 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/165937) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15195714329/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15195714329/ya-x86-64-asan/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [13](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15195714329/ya-x86-64-asan/try_1/ya-test.html) | [13](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15195714329/ya-x86-64-asan/try_1/ya-test.html#PASS) | 0 | 0 | 0 | 0 |

:green_circle: `2025-05-22 20:14:42 UTC` Build successful.
:green_circle: `2025-05-22 20:14:55 UTC` ydbd size **3.9 GiB** changed* by **+32 Bytes**, which is < 100.0 KiB vs main: **OK**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: 6cb271e52c35ea2045ac0ab63599a8043cde0070 |merge: 8b77beda8c7eb17b2f0864317ad72b1ff188ed19 |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**4 145 501 336** Bytes |**4 145 501 368** Bytes|**+32 Bytes**|**+0.000%**|
|ydbd stripped size|**1 439 190 296** Bytes|**1 439 190 296** Bytes|**0 Bytes**|**0.000%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/6cb271e52c35ea2045ac0ab63599a8043cde0070..8b77beda8c7eb17b2f0864317ad72b1ff188ed19)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-23T10:17:57Z
body: <!-- status pr=18708, preset=relwithdebinfo, run=43928 -->
:white_circle: `2025-05-23 10:17:57 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15207903829/job/42775184781) **linux-x86_64-relwithdebinfo** for a1bee7018002ad21bc8fac555ba8a5164c571790 has started.
:white_circle: `2025-05-23 10:18:07 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64/index.html)
:white_circle: `2025-05-23 10:20:23 UTC` ya make is running...
:yellow_circle: `2025-05-23 10:22:21 UTC` Some tests failed, follow the links below. Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/166383) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [17](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64/try_1/ya-test.html) | [16](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64/try_1/ya-test.html#PASS) | 0 | [1](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64/try_1/ya-test.html#FAIL) | 0 | 0 |

</details>

:white_circle: `2025-05-23 10:22:31 UTC` ya make is running... (failed tests rerun, try 2)
:yellow_circle: `2025-05-23 10:23:42 UTC` Some tests failed, follow the links below. Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/166387) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64/try_2/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [2 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64/try_2/ya-test.html) | [1](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64/try_2/ya-test.html#PASS) | 0 | [1](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64/try_2/ya-test.html#FAIL) | 0 | 0 |

</details>

:white_circle: `2025-05-23 10:23:50 UTC` ya make is running... (failed tests rerun, try 3)
:red_circle: `2025-05-23 10:25:14 UTC` Some tests failed, follow the links below.

[Test history](https://nebius.testmo.net/automation/runs/view/166388) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64/try_2/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64/try_3/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [2 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64/try_3/ya-test.html) | [1](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64/try_3/ya-test.html#PASS) | 0 | [1](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64/try_3/ya-test.html#FAIL) | 0 | 0 |

:green_circle: `2025-05-23 10:25:20 UTC` Build successful.
:yellow_circle: `2025-05-23 10:25:32 UTC` ydbd size **2.2 GiB** changed* by **+148.8 KiB**, which is >= 100.0 KiB vs main: **Warning**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: 985adf4d2e990d931958ed19662b61b9987b07e5 |merge: a1bee7018002ad21bc8fac555ba8a5164c571790 |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**2 357 581 688** Bytes |**2 357 734 024** Bytes|**+148.8 KiB**|**+0.006%**|
|ydbd stripped size|**495 317 128** Bytes|**495 287 848** Bytes|**-28.6 KiB**|**-0.006%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/985adf4d2e990d931958ed19662b61b9987b07e5..a1bee7018002ad21bc8fac555ba8a5164c571790)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-23T10:18:32Z
body: <!-- status pr=18708, preset=release-asan, run=43928 -->
:white_circle: `2025-05-23 10:18:32 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15207903829/job/42775184773) **linux-x86_64-release-asan** for a1bee7018002ad21bc8fac555ba8a5164c571790 has started.
:white_circle: `2025-05-23 10:18:43 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64-asan/index.html)
:white_circle: `2025-05-23 10:21:04 UTC` ya make is running...
:green_circle: `2025-05-23 10:22:47 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/166384) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64-asan/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [13](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64-asan/try_1/ya-test.html) | [13](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15207903829/ya-x86-64-asan/try_1/ya-test.html#PASS) | 0 | 0 | 0 | 0 |

:green_circle: `2025-05-23 10:22:54 UTC` Build successful.
:yellow_circle: `2025-05-23 10:23:07 UTC` ydbd size **3.9 GiB** changed* by **+157.6 KiB**, which is >= 100.0 KiB vs main: **Warning**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: 985adf4d2e990d931958ed19662b61b9987b07e5 |merge: a1bee7018002ad21bc8fac555ba8a5164c571790 |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**4 146 183 528** Bytes |**4 146 344 952** Bytes|**+157.6 KiB**|**+0.004%**|
|ydbd stripped size|**1 439 832 600** Bytes|**1 439 785 816** Bytes|**-45.7 KiB**|**-0.003%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/985adf4d2e990d931958ed19662b61b9987b07e5..a1bee7018002ad21bc8fac555ba8a5164c571790)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-23T12:29:43Z
body: <!-- status pr=18708, preset=release-asan, run=43954 -->
:white_circle: `2025-05-23 12:29:42 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15210229824/job/42782436246) **linux-x86_64-release-asan** for 6753b642611ba3137acfc82e452b00308efa856d has started.
:white_circle: `2025-05-23 12:29:46 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210229824/ya-x86-64-asan/index.html)
:black_circle: `2025-05-23 12:30:18 UTC` Check cancelled
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-23T12:30:02Z
body: <!-- status pr=18708, preset=relwithdebinfo, run=43954 -->
:white_circle: `2025-05-23 12:30:01 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15210229824/job/42782436230) **linux-x86_64-relwithdebinfo** for 6753b642611ba3137acfc82e452b00308efa856d has started.
:black_circle: `2025-05-23 12:30:04 UTC` Check cancelled
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-23T12:31:51Z
body: <!-- status pr=18708, preset=relwithdebinfo, run=43959 -->
:white_circle: `2025-05-23 12:31:49 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15210318079/job/42782738019) **linux-x86_64-relwithdebinfo** for 90b77b41ec947fe715aee03f1b4fb0d2b3212f1a has started.
:white_circle: `2025-05-23 12:32:15 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64/index.html)
:white_circle: `2025-05-23 12:35:02 UTC` ya make is running...
:yellow_circle: `2025-05-23 12:37:44 UTC` Some tests failed, follow the links below. Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/166516) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [17](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64/try_1/ya-test.html) | [16](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64/try_1/ya-test.html#PASS) | 0 | [1](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64/try_1/ya-test.html#FAIL) | 0 | 0 |

</details>

:white_circle: `2025-05-23 12:37:52 UTC` ya make is running... (failed tests rerun, try 2)
:yellow_circle: `2025-05-23 12:39:23 UTC` Some tests failed, follow the links below. Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/166519) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64/try_2/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [2 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64/try_2/ya-test.html) | [1](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64/try_2/ya-test.html#PASS) | 0 | [1](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64/try_2/ya-test.html#FAIL) | 0 | 0 |

</details>

:white_circle: `2025-05-23 12:39:31 UTC` ya make is running... (failed tests rerun, try 3)
:red_circle: `2025-05-23 12:40:58 UTC` Some tests failed, follow the links below.

[Test history](https://nebius.testmo.net/automation/runs/view/166521) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64/try_2/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64/try_3/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [2 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64/try_3/ya-test.html) | [1](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64/try_3/ya-test.html#PASS) | 0 | [1](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64/try_3/ya-test.html#FAIL) | 0 | 0 |

:green_circle: `2025-05-23 12:41:07 UTC` Build successful.
:green_circle: `2025-05-23 12:41:18 UTC` ydbd size **2.2 GiB** changed* by **+87.8 KiB**, which is < 100.0 KiB vs main: **OK**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: 94d96d2b7d5d19d6483ad161c3188578aa2e2b4e |merge: 90b77b41ec947fe715aee03f1b4fb0d2b3212f1a |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**2 357 734 024** Bytes |**2 357 823 912** Bytes|**+87.8 KiB**|**+0.004%**|
|ydbd stripped size|**495 287 848** Bytes|**495 303 976** Bytes|**+15.8 KiB**|**+0.003%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/94d96d2b7d5d19d6483ad161c3188578aa2e2b4e..90b77b41ec947fe715aee03f1b4fb0d2b3212f1a)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-23T12:42:40Z
body: <!-- status pr=18708, preset=release-asan, run=43959 -->
:white_circle: `2025-05-23 12:42:39 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15210318079/job/42782738029) **linux-x86_64-release-asan** for 90b77b41ec947fe715aee03f1b4fb0d2b3212f1a has started.
:white_circle: `2025-05-23 12:43:10 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64-asan/index.html)
:white_circle: `2025-05-23 12:46:17 UTC` ya make is running...
:green_circle: `2025-05-23 12:48:25 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/166529) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64-asan/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [13](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64-asan/try_1/ya-test.html) | [13](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210318079/ya-x86-64-asan/try_1/ya-test.html#PASS) | 0 | 0 | 0 | 0 |

:green_circle: `2025-05-23 12:48:34 UTC` Build successful.
:yellow_circle: `2025-05-23 12:48:49 UTC` ydbd size **3.9 GiB** changed* by **+154.0 KiB**, which is >= 100.0 KiB vs main: **Warning**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: 94d96d2b7d5d19d6483ad161c3188578aa2e2b4e |merge: 90b77b41ec947fe715aee03f1b4fb0d2b3212f1a |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**4 146 345 048** Bytes |**4 146 502 776** Bytes|**+154.0 KiB**|**+0.004%**|
|ydbd stripped size|**1 439 785 880** Bytes|**1 439 826 360** Bytes|**+39.5 KiB**|**+0.003%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/94d96d2b7d5d19d6483ad161c3188578aa2e2b4e..90b77b41ec947fe715aee03f1b4fb0d2b3212f1a)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-23T13:04:04Z
body: <!-- status pr=18708, preset=relwithdebinfo, run=43966 -->
:white_circle: `2025-05-23 13:04:03 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15210956376/job/42784723683) **linux-x86_64-relwithdebinfo** for 6361d174bb601153e9ffc22c9b83d8a8785756a9 has started.
:white_circle: `2025-05-23 13:04:15 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210956376/ya-x86-64/index.html)
:white_circle: `2025-05-23 13:06:41 UTC` ya make is running...
:green_circle: `2025-05-23 13:08:38 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/166546) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210956376/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210956376/ya-x86-64/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [17](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210956376/ya-x86-64/try_1/ya-test.html) | [17](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210956376/ya-x86-64/try_1/ya-test.html#PASS) | 0 | 0 | 0 | 0 |

:green_circle: `2025-05-23 13:08:45 UTC` Build successful.
:yellow_circle: `2025-05-23 13:08:54 UTC` ydbd size **2.2 GiB** changed* by **+134.0 KiB**, which is >= 100.0 KiB vs main: **Warning**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: 0dc91515d6428a953aac5a83a144e6e11776d67e |merge: 6361d174bb601153e9ffc22c9b83d8a8785756a9 |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**2 357 769 008** Bytes |**2 357 906 272** Bytes|**+134.0 KiB**|**+0.006%**|
|ydbd stripped size|**495 292 008** Bytes|**495 324 200** Bytes|**+31.4 KiB**|**+0.006%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/0dc91515d6428a953aac5a83a144e6e11776d67e..6361d174bb601153e9ffc22c9b83d8a8785756a9)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-23T13:04:45Z
body: <!-- status pr=18708, preset=release-asan, run=43966 -->
:white_circle: `2025-05-23 13:04:45 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15210956376/job/42784723671) **linux-x86_64-release-asan** for 6361d174bb601153e9ffc22c9b83d8a8785756a9 has started.
:white_circle: `2025-05-23 13:04:56 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210956376/ya-x86-64-asan/index.html)
:white_circle: `2025-05-23 13:07:12 UTC` ya make is running...
:green_circle: `2025-05-23 13:09:34 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/166547) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210956376/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210956376/ya-x86-64-asan/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [13](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210956376/ya-x86-64-asan/try_1/ya-test.html) | [13](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15210956376/ya-x86-64-asan/try_1/ya-test.html#PASS) | 0 | 0 | 0 | 0 |

:green_circle: `2025-05-23 13:09:40 UTC` Build successful.
:yellow_circle: `2025-05-23 13:09:55 UTC` ydbd size **3.9 GiB** changed* by **+284.6 KiB**, which is >= 100.0 KiB vs main: **Warning**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: 94d96d2b7d5d19d6483ad161c3188578aa2e2b4e |merge: 6361d174bb601153e9ffc22c9b83d8a8785756a9 |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**4 146 345 048** Bytes |**4 146 636 504** Bytes|**+284.6 KiB**|**+0.007%**|
|ydbd stripped size|**1 439 785 880** Bytes|**1 439 871 800** Bytes|**+83.9 KiB**|**+0.006%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/94d96d2b7d5d19d6483ad161c3188578aa2e2b4e..6361d174bb601153e9ffc22c9b83d8a8785756a9)</sup>
author_association: NONE