From ec4b483e880cfee725145bb0ccb5d6aedc55fd4e Mon Sep 17 00:00:00 2001 From: Ferenc Szili Date: Tue, 28 Apr 2026 14:56:25 +0200 Subject: [PATCH] test: fix flaky test_tablets_split_merge_with_many_tables In debug mode, this test can timeout during tablets merge. While the test already decreases the number of tables in debug mode (20 tables, instead of 200 for dev mode), this is not enough, and the test can still timeout during merge. This change reduces the number of tables from 20 to 5 in debug mode. It also drops the log level for lead_balancer to debug. This should make any potential future problems with this test easier to investigate. Fixes: SCYLLADB-1717 Closes scylladb/scylladb#29682 --- test/cluster/test_tablets_merge.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/cluster/test_tablets_merge.py b/test/cluster/test_tablets_merge.py index 5ba2f98d50..6f297d2324 100644 --- a/test/cluster/test_tablets_merge.py +++ b/test/cluster/test_tablets_merge.py @@ -378,7 +378,7 @@ async def test_tablet_merge_cross_rack_migrations(manager: ManagerClient, racks) @pytest.mark.asyncio @pytest.mark.skip_mode(mode='release', reason='error injections are not supported in release mode') async def test_tablet_split_merge_with_many_tables(build_mode: str, manager: ManagerClient, racks = 2): - cmdline = ['--smp', '4', '-m', '2G', '--target-tablet-size-in-bytes', '30000', '--max-task-backlog', '200',] + cmdline = ['--smp', '4', '-m', '2G', '--target-tablet-size-in-bytes', '30000', '--max-task-backlog', '200', '--logger-log-level', 'load_balancer=debug'] config = {'tablet_load_stats_refresh_interval_in_seconds': 1} servers = [] @@ -390,7 +390,7 @@ async def test_tablet_split_merge_with_many_tables(build_mode: str, manager: Man cql = manager.get_cql() ks = await create_new_test_keyspace(cql, f"WITH replication = {{'class': 'NetworkTopologyStrategy', 'replication_factor': {rf}}} AND tablets = {{'initial': 1}}") await cql.run_async(f"CREATE TABLE {ks}.test (pk int PRIMARY KEY, c blob) WITH compression = {{'sstable_compression': ''}};") - num_tables = 200 if build_mode != 'debug' else 20 + num_tables = 200 if build_mode != 'debug' else 5 await asyncio.gather(*[cql.run_async(f"CREATE TABLE {ks}.test{i} (pk int PRIMARY KEY, c blob);") for i in range(1, num_tables)]) async def check_logs(when):