From 9301ba65f4da02d32bb96ddbbfbe1c803a085d33 Mon Sep 17 00:00:00 2001 From: Maxim Yurchuk Date: Mon, 5 May 2025 18:48:10 +0300 Subject: [PATCH 1/5] Move tests/functional/compatibility -> tests/compatibility --- .github/config/muted_ya.txt | 42 +++++++++---------- .../regression_run_compatibility.yml | 2 +- .../compatibility/test_compatibility.py | 0 .../compatibility/test_export_s3.py | 0 .../compatibility/test_followers.py | 0 .../compatibility/test_stress.py | 0 .../{functional => }/compatibility/ya.make | 0 ydb/tests/functional/ya.make | 1 - ydb/tests/library/compatibility/ya.make | 5 +++ ydb/tests/ya.make | 1 + 10 files changed, 28 insertions(+), 23 deletions(-) rename ydb/tests/{functional => }/compatibility/test_compatibility.py (100%) rename ydb/tests/{functional => }/compatibility/test_export_s3.py (100%) rename ydb/tests/{functional => }/compatibility/test_followers.py (100%) rename ydb/tests/{functional => }/compatibility/test_stress.py (100%) rename ydb/tests/{functional => }/compatibility/ya.make (100%) diff --git a/.github/config/muted_ya.txt b/.github/config/muted_ya.txt index fe01ebda599b..1c3e76a5b5fd 100644 --- a/.github/config/muted_ya.txt +++ b/.github/config/muted_ya.txt @@ -76,27 +76,27 @@ ydb/tests/fq/yds test_mem_alloc.py.TestMemAlloc.test_join_alloc[v1] ydb/tests/fq/yds test_recovery.py.TestRecovery.test_ic_disconnection ydb/tests/fq/yds test_select_limit_db_id.py.TestSelectLimitWithDbId.test_select_same_with_id[v1-mvp_external_ydb_endpoint0] ydb/tests/fq/yds test_yds_bindings.py.TestBindings.test_yds_insert[v1] -ydb/tests/functional/compatibility sole chunk chunk -ydb/tests/functional/compatibility test_compatibility.py.TestCompatibility.test_simple[current_to_last_stable-column] -ydb/tests/functional/compatibility test_compatibility.py.TestCompatibility.test_simple[last_stable_to_current-column] -ydb/tests/functional/compatibility test_compatibility.py.TestCompatibility.test_simple[last_stable_to_current_mixed-column] -ydb/tests/functional/compatibility test_compatibility.py.TestCompatibility.test_tpch1[current_to_last_stable-column] -ydb/tests/functional/compatibility test_compatibility.py.TestCompatibility.test_tpch1[current_to_last_stable-row] -ydb/tests/functional/compatibility test_compatibility.py.TestCompatibility.test_tpch1[last_stable_to_current-column] -ydb/tests/functional/compatibility test_compatibility.py.TestCompatibility.test_tpch1[last_stable_to_current-row] -ydb/tests/functional/compatibility test_compatibility.py.TestCompatibility.test_tpch1[last_stable_to_current_mixed-column] -ydb/tests/functional/compatibility test_compatibility.py.TestCompatibility.test_tpch1[last_stable_to_current_mixed-row] -ydb/tests/functional/compatibility test_followers.py.TestFollowersCompatibility.test_followers_compatability -ydb/tests/functional/compatibility test_stress.py.TestStress.test_kv[mixed-column] -ydb/tests/functional/compatibility test_stress.py.TestStress.test_log[current-column] -ydb/tests/functional/compatibility test_stress.py.TestStress.test_log[mixed-column] -ydb/tests/functional/compatibility test_stress.py.TestStress.test_log[mixed-row] -ydb/tests/functional/compatibility test_stress.py.TestStress.test_tpch1[current-column] -ydb/tests/functional/compatibility test_stress.py.TestStress.test_tpch1[current-row] -ydb/tests/functional/compatibility test_stress.py.TestStress.test_tpch1[last_stable-column] -ydb/tests/functional/compatibility test_stress.py.TestStress.test_tpch1[last_stable-row] -ydb/tests/functional/compatibility test_stress.py.TestStress.test_tpch1[mixed-column] -ydb/tests/functional/compatibility test_stress.py.TestStress.test_tpch1[mixed-row] +ydb/tests/compatibility sole chunk chunk +ydb/tests/compatibility test_compatibility.py.TestCompatibility.test_simple[current_to_last_stable-column] +ydb/tests/compatibility test_compatibility.py.TestCompatibility.test_simple[last_stable_to_current-column] +ydb/tests/compatibility test_compatibility.py.TestCompatibility.test_simple[last_stable_to_current_mixed-column] +ydb/tests/compatibility test_compatibility.py.TestCompatibility.test_tpch1[current_to_last_stable-column] +ydb/tests/compatibility test_compatibility.py.TestCompatibility.test_tpch1[current_to_last_stable-row] +ydb/tests/compatibility test_compatibility.py.TestCompatibility.test_tpch1[last_stable_to_current-column] +ydb/tests/compatibility test_compatibility.py.TestCompatibility.test_tpch1[last_stable_to_current-row] +ydb/tests/compatibility test_compatibility.py.TestCompatibility.test_tpch1[last_stable_to_current_mixed-column] +ydb/tests/compatibility test_compatibility.py.TestCompatibility.test_tpch1[last_stable_to_current_mixed-row] +ydb/tests/compatibility test_followers.py.TestFollowersCompatibility.test_followers_compatability +ydb/tests/compatibility test_stress.py.TestStress.test_kv[mixed-column] +ydb/tests/compatibility test_stress.py.TestStress.test_log[current-column] +ydb/tests/compatibility test_stress.py.TestStress.test_log[mixed-column] +ydb/tests/compatibility test_stress.py.TestStress.test_log[mixed-row] +ydb/tests/compatibility test_stress.py.TestStress.test_tpch1[current-column] +ydb/tests/compatibility test_stress.py.TestStress.test_tpch1[current-row] +ydb/tests/compatibility test_stress.py.TestStress.test_tpch1[last_stable-column] +ydb/tests/compatibility test_stress.py.TestStress.test_tpch1[last_stable-row] +ydb/tests/compatibility test_stress.py.TestStress.test_tpch1[mixed-column] +ydb/tests/compatibility test_stress.py.TestStress.test_tpch1[mixed-row] ydb/tests/functional/config [test_distconf.py */*] chunk chunk ydb/tests/functional/config test_distconf.py.TestKiKiMRDistConfBasic.test_cluster_expand_with_distconf ydb/tests/functional/hive test_drain.py.TestHive.test_drain_on_stop diff --git a/.github/workflows/regression_run_compatibility.yml b/.github/workflows/regression_run_compatibility.yml index 74a713ea10b2..12eca6795f6c 100644 --- a/.github/workflows/regression_run_compatibility.yml +++ b/.github/workflows/regression_run_compatibility.yml @@ -21,6 +21,6 @@ jobs: matrix: build_preset: ["relwithdebinfo", "release-asan", "release-tsan", "release-msan"] with: - test_targets: ydb/tests/functional/compatibility/ + test_targets: ydb/tests/compatibility/ branches: ${{ (inputs.use_default_branches == true || github.event_name == 'schedule') && '["main", "stable-25-1", "stable-25-1-analytics"]' || github.ref_name }} build_preset: ${{ matrix.build_preset }} diff --git a/ydb/tests/functional/compatibility/test_compatibility.py b/ydb/tests/compatibility/test_compatibility.py similarity index 100% rename from ydb/tests/functional/compatibility/test_compatibility.py rename to ydb/tests/compatibility/test_compatibility.py diff --git a/ydb/tests/functional/compatibility/test_export_s3.py b/ydb/tests/compatibility/test_export_s3.py similarity index 100% rename from ydb/tests/functional/compatibility/test_export_s3.py rename to ydb/tests/compatibility/test_export_s3.py diff --git a/ydb/tests/functional/compatibility/test_followers.py b/ydb/tests/compatibility/test_followers.py similarity index 100% rename from ydb/tests/functional/compatibility/test_followers.py rename to ydb/tests/compatibility/test_followers.py diff --git a/ydb/tests/functional/compatibility/test_stress.py b/ydb/tests/compatibility/test_stress.py similarity index 100% rename from ydb/tests/functional/compatibility/test_stress.py rename to ydb/tests/compatibility/test_stress.py diff --git a/ydb/tests/functional/compatibility/ya.make b/ydb/tests/compatibility/ya.make similarity index 100% rename from ydb/tests/functional/compatibility/ya.make rename to ydb/tests/compatibility/ya.make diff --git a/ydb/tests/functional/ya.make b/ydb/tests/functional/ya.make index 7dc41aefdc8e..ed48796102f7 100644 --- a/ydb/tests/functional/ya.make +++ b/ydb/tests/functional/ya.make @@ -8,7 +8,6 @@ RECURSE( canonical clickbench cms - compatibility config encryption hive diff --git a/ydb/tests/library/compatibility/ya.make b/ydb/tests/library/compatibility/ya.make index 2a2006fdbfd2..42219b27eca7 100644 --- a/ydb/tests/library/compatibility/ya.make +++ b/ydb/tests/library/compatibility/ya.make @@ -5,6 +5,11 @@ RUN_PROGRAM( OUT_NOAUTO ydbd-last-stable ) +RUN_PROGRAM( + ydb/tests/library/compatibility/downloader stable-24-4/release/ydbd ydbd-prelast-stable + OUT_NOAUTO ydbd-prelast-stable +) + END() RECURSE(downloader) diff --git a/ydb/tests/ya.make b/ydb/tests/ya.make index 33bbaa918f5e..74976e74f999 100644 --- a/ydb/tests/ya.make +++ b/ydb/tests/ya.make @@ -1,4 +1,5 @@ RECURSE( + compatibility datashard example fq From b9432551ea8ad416b88898c67cecebc75ebcbfe9 Mon Sep 17 00:00:00 2001 From: Maxim Yurchuk Date: Tue, 6 May 2025 16:55:51 +0300 Subject: [PATCH 2/5] Move some --- ydb/tests/compatibility/test_compatibility.py | 2 +- ydb/tests/compatibility/test_export_s3.py | 2 +- ydb/tests/compatibility/test_followers.py | 2 +- ydb/tests/compatibility/test_stress.py | 2 +- ydb/tests/compatibility/ya.make | 3 ++- .../{ => binaries}/downloader/__main__.py | 0 .../{ => binaries}/downloader/ya.make | 0 ydb/tests/library/compatibility/binaries/ya.make | 15 +++++++++++++++ ydb/tests/library/compatibility/fixtures.py | 0 ydb/tests/library/compatibility/ya.make | 15 +++++---------- 10 files changed, 26 insertions(+), 15 deletions(-) rename ydb/tests/library/compatibility/{ => binaries}/downloader/__main__.py (100%) rename ydb/tests/library/compatibility/{ => binaries}/downloader/ya.make (100%) create mode 100644 ydb/tests/library/compatibility/binaries/ya.make create mode 100644 ydb/tests/library/compatibility/fixtures.py diff --git a/ydb/tests/compatibility/test_compatibility.py b/ydb/tests/compatibility/test_compatibility.py index b47c2b1e0f8c..41a2587a4e6b 100644 --- a/ydb/tests/compatibility/test_compatibility.py +++ b/ydb/tests/compatibility/test_compatibility.py @@ -12,7 +12,7 @@ from decimal import Decimal -last_stable_binary_path = yatest.common.binary_path("ydb/tests/library/compatibility/ydbd-last-stable") +last_stable_binary_path = yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-last-stable") current_binary_path = kikimr_driver_path() all_binary_combinations = [ diff --git a/ydb/tests/compatibility/test_export_s3.py b/ydb/tests/compatibility/test_export_s3.py index 2ba1c4950e57..d119e7a2ac42 100644 --- a/ydb/tests/compatibility/test_export_s3.py +++ b/ydb/tests/compatibility/test_export_s3.py @@ -13,7 +13,7 @@ from ydb.tests.oss.ydb_sdk_import import ydb -last_stable_binary_path = yatest.common.binary_path("ydb/tests/library/compatibility/ydbd-last-stable") +last_stable_binary_path = yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-last-stable") current_binary_path = kikimr_driver_path() all_binary_combinations = [ diff --git a/ydb/tests/compatibility/test_followers.py b/ydb/tests/compatibility/test_followers.py index 7b931eee2913..ab8615811c5e 100644 --- a/ydb/tests/compatibility/test_followers.py +++ b/ydb/tests/compatibility/test_followers.py @@ -16,7 +16,7 @@ class TestFollowersCompatibility(object): @classmethod def setup_class(cls): - last_stable_path = yatest.common.binary_path("ydb/tests/library/compatibility/ydbd-last-stable") + last_stable_path = yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-last-stable") binary_paths = [kikimr_driver_path(), last_stable_path] cls.datacenters = [1, 2, 3] cls.dc_map = {i : cls.datacenters[(i - 1) % 3] for i in range(1, 10)} diff --git a/ydb/tests/compatibility/test_stress.py b/ydb/tests/compatibility/test_stress.py index 53615be0740b..9fccc0a3d463 100644 --- a/ydb/tests/compatibility/test_stress.py +++ b/ydb/tests/compatibility/test_stress.py @@ -11,7 +11,7 @@ from ydb.tests.library.common.types import Erasure from ydb.tests.stress.simple_queue.workload import Workload -last_stable_binary_path = yatest.common.binary_path("ydb/tests/library/compatibility/ydbd-last-stable") +last_stable_binary_path = yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-last-stable") current_binary_path = kikimr_driver_path() all_binary_combinations = [ diff --git a/ydb/tests/compatibility/ya.make b/ydb/tests/compatibility/ya.make index d357e11b423d..5e2dce1857ae 100644 --- a/ydb/tests/compatibility/ya.make +++ b/ydb/tests/compatibility/ya.make @@ -23,13 +23,14 @@ INCLUDE(${ARCADIA_ROOT}/ydb/tests/tools/s3_recipe/recipe.inc) DEPENDS( ydb/apps/ydb ydb/apps/ydbd - ydb/tests/library/compatibility + ydb/tests/library/compatibility/binaries ) PEERDIR( contrib/python/boto3 ydb/tests/library ydb/tests/stress/simple_queue/workload + ydb/tests/library/compatibility ) END() diff --git a/ydb/tests/library/compatibility/downloader/__main__.py b/ydb/tests/library/compatibility/binaries/downloader/__main__.py similarity index 100% rename from ydb/tests/library/compatibility/downloader/__main__.py rename to ydb/tests/library/compatibility/binaries/downloader/__main__.py diff --git a/ydb/tests/library/compatibility/downloader/ya.make b/ydb/tests/library/compatibility/binaries/downloader/ya.make similarity index 100% rename from ydb/tests/library/compatibility/downloader/ya.make rename to ydb/tests/library/compatibility/binaries/downloader/ya.make diff --git a/ydb/tests/library/compatibility/binaries/ya.make b/ydb/tests/library/compatibility/binaries/ya.make new file mode 100644 index 000000000000..f4c89d695efd --- /dev/null +++ b/ydb/tests/library/compatibility/binaries/ya.make @@ -0,0 +1,15 @@ +RECURSE(downloader) + +UNION() + +RUN_PROGRAM( + ydb/tests/library/compatibility/binaries/downloader stable-25-1/release/ydbd ydbd-last-stable + OUT_NOAUTO ydbd-last-stable +) + +RUN_PROGRAM( + ydb/tests/library/compatibility/binaries/downloader stable-24-4/release/ydbd ydbd-prelast-stable + OUT_NOAUTO ydbd-prelast-stable +) + +END() diff --git a/ydb/tests/library/compatibility/fixtures.py b/ydb/tests/library/compatibility/fixtures.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/ydb/tests/library/compatibility/ya.make b/ydb/tests/library/compatibility/ya.make index 42219b27eca7..37f21d79a083 100644 --- a/ydb/tests/library/compatibility/ya.make +++ b/ydb/tests/library/compatibility/ya.make @@ -1,15 +1,10 @@ -UNION() +RECURSE(binaries) + +PY23_LIBRARY() -RUN_PROGRAM( - ydb/tests/library/compatibility/downloader stable-25-1/release/ydbd ydbd-last-stable - OUT_NOAUTO ydbd-last-stable -) -RUN_PROGRAM( - ydb/tests/library/compatibility/downloader stable-24-4/release/ydbd ydbd-prelast-stable - OUT_NOAUTO ydbd-prelast-stable +PY_SRCS( + fixtures.py ) END() - -RECURSE(downloader) From 036b00bdf0052cc9cef2a04a21019db12137972d Mon Sep 17 00:00:00 2001 From: Maxim Yurchuk Date: Mon, 12 May 2025 20:00:41 +0300 Subject: [PATCH 3/5] fixes --- ydb/tests/compatibility/test_compatibility.py | 73 +++---------------- ydb/tests/library/compatibility/fixtures.py | 73 +++++++++++++++++++ ydb/tests/library/compatibility/ya.make | 5 -- 3 files changed, 82 insertions(+), 69 deletions(-) diff --git a/ydb/tests/compatibility/test_compatibility.py b/ydb/tests/compatibility/test_compatibility.py index 41a2587a4e6b..382ba0ddc009 100644 --- a/ydb/tests/compatibility/test_compatibility.py +++ b/ydb/tests/compatibility/test_compatibility.py @@ -2,81 +2,26 @@ import pytest import yatest import os -import time -from ydb.tests.library.harness.kikimr_runner import KiKiMR -from ydb.tests.library.harness.kikimr_config import KikimrConfigGenerator -from ydb.tests.library.harness.param_constants import kikimr_driver_path -from ydb.tests.library.common.types import Erasure +from ydb.tests.library.compatibility.fixtures import RestartToAnotherVersionFixture from ydb.tests.oss.ydb_sdk_import import ydb from decimal import Decimal -last_stable_binary_path = yatest.common.binary_path("ydb/tests/library/compatibility/binaries/ydbd-last-stable") -current_binary_path = kikimr_driver_path() - -all_binary_combinations = [ - [[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]], -] -all_binary_combinations_ids = [ - "last_stable_to_current", - "last_stable_to_current_mixed", - "current_to_last_stable", - "current_to_current", -] - - -class TestCompatibility(object): - @pytest.fixture(autouse=True, params=all_binary_combinations, ids=all_binary_combinations_ids) - def setup(self, request): - self.all_binary_paths = request.param - self.config = KikimrConfigGenerator( - erasure=Erasure.MIRROR_3_DC, - binary_paths=self.all_binary_paths[0], - use_in_memory_pdisks=False, - +class TestCompatibility(RestartToAnotherVersionFixture): + @pytest.fixture(autouse=True, scope="function") + def setup(self): + output_path = yatest.common.test_output_path() + self.output_f = open(os.path.join(output_path, "out.log"), "w") + yield from self.setup_cluster( extra_feature_flags={ "suppress_compatibility_check": True, # "enable_table_datetime64": True # uncomment for 64 datetime in tpc-h/tpc-ds }, - column_shard_config={ + column_shard_config={ 'disabled_on_scheme_shard': False, - }, - ) - - self.cluster = KiKiMR(self.config) - self.cluster.start() - self.endpoint = "grpc://%s:%s" % ('localhost', self.cluster.nodes[1].port) - output_path = yatest.common.test_output_path() - self.output_f = open(os.path.join(output_path, "out.log"), "w") - - self.driver = ydb.Driver( - ydb.DriverConfig( - database='/Root', - endpoint=self.endpoint - ) - ) - self.driver.wait() - yield - self.cluster.stop() - - def change_cluster_version(self, new_binary_paths): - self.config.set_binary_paths(new_binary_paths) - self.cluster.update_configurator_and_restart(self.config) - self.driver = ydb.Driver( - ydb.DriverConfig( - database='/Root', - endpoint=self.endpoint - ) + } ) - self.driver.wait() - # TODO: remove sleep - # without sleep there are errors like - # ydb.issues.Unavailable: message: "Failed to resolve tablet: 72075186224037909 after several retries." severity: 1 (server_code: 400050) - time.sleep(60) def execute_scan_query(self, query_body): query = ydb.ScanQuery(query_body, {}) diff --git a/ydb/tests/library/compatibility/fixtures.py b/ydb/tests/library/compatibility/fixtures.py index e69de29bb2d1..8c08ebc62960 100644 --- a/ydb/tests/library/compatibility/fixtures.py +++ b/ydb/tests/library/compatibility/fixtures.py @@ -0,0 +1,73 @@ +# -*- coding: utf-8 -*- +import pytest +import yatest +import time +from ydb.tests.library.harness.kikimr_runner import KiKiMR +from ydb.tests.library.harness.kikimr_config import KikimrConfigGenerator +from ydb.tests.library.harness.param_constants import kikimr_driver_path +from ydb.tests.library.common.types import Erasure +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() + +all_binary_combinations = [ + [[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]], +] +all_binary_combinations_ids = [ + "last_stable_to_current", + "last_stable_to_current_mixed", + "current_to_last_stable", + "current_to_current", +] + + +class RestartToAnotherVersionFixture: + @pytest.fixture(autouse=True, params=all_binary_combinations, ids=all_binary_combinations_ids) + def base_setup(self, request): + self.current_binary_paths_index = 0 + 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[self.current_binary_paths_index], + use_in_memory_pdisks=False, + **kwargs, + ) + + self.cluster = KiKiMR(self.config) + self.cluster.start() + self.endpoint = "grpc://%s:%s" % ('localhost', self.cluster.nodes[1].port) + + self.driver = ydb.Driver( + ydb.DriverConfig( + database='/Root', + endpoint=self.endpoint + ) + ) + self.driver.wait() + yield + self.cluster.stop() + + def change_cluster_version(self, new_binary_paths): + self.current_binary_paths_index = (self.current_binary_paths_index + 1) % len(self.all_binary_paths) + new_binary_paths = self.all_binary_paths[self.current_binary_paths_index] + self.config.set_binary_paths(new_binary_paths) + self.cluster.update_configurator_and_restart(self.config) + self.driver = ydb.Driver( + ydb.DriverConfig( + database='/Root', + endpoint=self.endpoint + ) + ) + self.driver.wait() + # TODO: remove sleep + # without sleep there are errors like + # ydb.issues.Unavailable: message: "Failed to resolve tablet: 72075186224037909 after several retries." severity: 1 (server_code: 400050) + time.sleep(60) diff --git a/ydb/tests/library/compatibility/ya.make b/ydb/tests/library/compatibility/ya.make index 4077f9783964..37f21d79a083 100644 --- a/ydb/tests/library/compatibility/ya.make +++ b/ydb/tests/library/compatibility/ya.make @@ -7,9 +7,4 @@ PY_SRCS( fixtures.py ) -RUN_PROGRAM( - ydb/tests/library/compatibility/downloader stable-24-4/release/ydbd ydbd-prelast-stable - OUT_NOAUTO ydbd-prelast-stable -) - END() From 21579b1b225d4df1c669616dec90f1a3060b1109 Mon Sep 17 00:00:00 2001 From: Maxim Yurchuk Date: Tue, 13 May 2025 10:37:15 +0300 Subject: [PATCH 4/5] 8 --- ydb/tests/compatibility/test_compatibility.py | 2 +- ydb/tests/library/compatibility/fixtures.py | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/ydb/tests/compatibility/test_compatibility.py b/ydb/tests/compatibility/test_compatibility.py index 382ba0ddc009..24a4729e7232 100644 --- a/ydb/tests/compatibility/test_compatibility.py +++ b/ydb/tests/compatibility/test_compatibility.py @@ -18,7 +18,7 @@ def setup(self): "suppress_compatibility_check": True, # "enable_table_datetime64": True # uncomment for 64 datetime in tpc-h/tpc-ds }, - column_shard_config={ + column_shard_config={ 'disabled_on_scheme_shard': False, } ) diff --git a/ydb/tests/library/compatibility/fixtures.py b/ydb/tests/library/compatibility/fixtures.py index 8c08ebc62960..13f45f6867eb 100644 --- a/ydb/tests/library/compatibility/fixtures.py +++ b/ydb/tests/library/compatibility/fixtures.py @@ -32,7 +32,6 @@ def base_setup(self, request): self.current_binary_paths_index = 0 self.all_binary_paths = request.param - def setup_cluster(self, **kwargs): self.config = KikimrConfigGenerator( erasure=Erasure.MIRROR_3_DC, From 3f97949dadb25dda20f916312d7727f389a50399 Mon Sep 17 00:00:00 2001 From: Maxim Yurchuk Date: Tue, 13 May 2025 10:49:24 +0300 Subject: [PATCH 5/5] fix --- ydb/tests/compatibility/test_compatibility.py | 4 ++-- ydb/tests/library/compatibility/fixtures.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ydb/tests/compatibility/test_compatibility.py b/ydb/tests/compatibility/test_compatibility.py index 24a4729e7232..4595831fb72e 100644 --- a/ydb/tests/compatibility/test_compatibility.py +++ b/ydb/tests/compatibility/test_compatibility.py @@ -84,7 +84,7 @@ def create_table(self, store_type): create_table(self, store_type) upsert_and_check_sum(self) - self.change_cluster_version(self.all_binary_paths[1]) + self.change_cluster_version() assert self.execute_scan_query('select count(*) as row_count from `sample_table`')[0]['row_count'] == 200, 'Expected 200 rows after update version' upsert_and_check_sum(self, iteration_count=2, start_index=100) assert self.execute_scan_query('select count(*) as row_count from `sample_table`')[0]['row_count'] == 500, 'Expected 500 rows: update 100-200 rows and added 300 rows' @@ -160,6 +160,6 @@ def test_tpch1(self, store_type): yatest.common.execute(init_command, wait=True, stdout=self.output_f) yatest.common.execute(import_command, wait=True, stdout=self.output_f) yatest.common.execute(run_command, wait=True, stdout=self.output_f) - self.change_cluster_version(self.all_binary_paths[1]) + self.change_cluster_version() yatest.common.execute(run_command, wait=True, stdout=self.output_f) yatest.common.execute(clean_command, wait=True, stdout=self.output_f) diff --git a/ydb/tests/library/compatibility/fixtures.py b/ydb/tests/library/compatibility/fixtures.py index 13f45f6867eb..d0b1feff25cf 100644 --- a/ydb/tests/library/compatibility/fixtures.py +++ b/ydb/tests/library/compatibility/fixtures.py @@ -54,7 +54,7 @@ def setup_cluster(self, **kwargs): yield self.cluster.stop() - def change_cluster_version(self, new_binary_paths): + def change_cluster_version(self): self.current_binary_paths_index = (self.current_binary_paths_index + 1) % len(self.all_binary_paths) new_binary_paths = self.all_binary_paths[self.current_binary_paths_index] self.config.set_binary_paths(new_binary_paths)