test: verify that schema pulls are disabled in the Raft-based recovery procedure
We do this at the end of `test_raft_recovery_entry_loss`. It's not worth
to add a separate regression test, as tests of the recovery procedure
are complicated and have a long running time. Also, we choose
`test_raft_recovery_entry_loss` out of all tests of the recovery
procedure because it does some schema changes.
(cherry picked from commit da8748e2b1)
This commit is contained in:
committed by
GitHub Action
parent
95d4206585
commit
cd0bb11eef
@@ -39,6 +39,9 @@ async def test_raft_recovery_entry_lose(manager: ManagerClient):
|
||||
5. Check that node 1 has moved its group 0 state to v2.
|
||||
6. Remove nodes 3-5 from topology using the standard removenode procedure.
|
||||
7. Add a new node (a sanity check verifying that the cluster is functioning properly).
|
||||
|
||||
Additionally, verify that no schema pulls take place during the recovery procedure at the end of the test. This is
|
||||
a regression test for https://github.com/scylladb/scylladb/issues/26569.
|
||||
"""
|
||||
logging.info('Adding initial servers')
|
||||
servers = await manager.servers_add(5)
|
||||
@@ -158,10 +161,17 @@ async def test_raft_recovery_entry_lose(manager: ManagerClient):
|
||||
|
||||
logging.info('Adding a new server')
|
||||
new_server = await manager.server_add()
|
||||
live_servers.append(new_server)
|
||||
|
||||
hosts = await wait_for_cql_and_get_hosts(cql, live_servers + [new_server], time.time() + 60)
|
||||
hosts = await wait_for_cql_and_get_hosts(cql, live_servers, time.time() + 60)
|
||||
|
||||
logging.info(f'Performing consistency checks after adding {new_server}')
|
||||
await wait_for_cdc_generations_publishing(cql, hosts, time.time() + 60)
|
||||
await check_token_ring_and_group0_consistency(manager)
|
||||
await check_system_topology_and_cdc_generations_v3_consistency(manager, hosts, ignored_hosts=dead_hosts)
|
||||
|
||||
logging.info(f'Checking that there were no schema pulls on {live_servers}')
|
||||
log_files = await asyncio.gather(*[manager.server_open_log(srv.server_id) for srv in live_servers])
|
||||
for log_file in log_files:
|
||||
matches = await log_file.grep('Requesting schema pull') + await log_file.grep('Pulling schema')
|
||||
assert not matches
|
||||
|
||||
Reference in New Issue
Block a user