Files
scylladb/test/cluster/test_table_drop.py
2025-04-23 14:29:28 +02:00

27 lines
1.3 KiB
Python

import asyncio
from test.cluster.util import new_test_keyspace
from test.pylib.manager_client import ManagerClient
import pytest
@pytest.mark.asyncio
async def test_drop_table_during_streaming_receiver_side(manager: ManagerClient):
servers = [await manager.server_add(config={
'error_injections_at_startup': ['stream_mutation_fragments_table_dropped'],
'enable_repair_based_node_ops': False,
'enable_user_defined_functions': False,
'force_gossip_topology_changes': True,
'tablets_mode_for_new_keyspaces': 'disabled'
}) for _ in range(2)]
@pytest.mark.asyncio
async def test_drop_table_during_flush(manager: ManagerClient):
servers = [await manager.server_add() for _ in range(2)]
await manager.api.enable_injection(servers[0].ip_addr, "flush_tables_on_all_shards_table_drop", True)
cql = manager.get_cql()
async with new_test_keyspace(manager, "WITH replication = {'class': 'NetworkTopologyStrategy', 'replication_factor': 1};") as ks:
await cql.run_async(f"CREATE TABLE {ks}.test (pk int PRIMARY KEY, c int);")
await asyncio.gather(*[cql.run_async(f"INSERT INTO {ks}.test (pk, c) VALUES ({k}, {k%3});") for k in range(64)])
await manager.api.keyspace_flush(servers[0].ip_addr, ks, "test")