mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-21 00:50:35 +00:00
Now RPC module has some basic testing coverage to make sure RPC configuration is updated appropriately on configuration changes (i.e. `add_server` and `remove_server` are called when appropriate). The test suite currenty consists of the following test-cases: * Loading server instance with configuration from a snapshot. * Loading server instance with configuration from a log. * Configuration changes (remove + add node). * Leader elections don't lead to RPC configuration changes. * Voter <-> learner node transitions also don't change RPC configuration. * Reverting uncommitted configuration changes updates RPC configuration accordingly (two cases: revert to snapshot config or committed state from the log). A few more refactorings are made along the way to be able to reuse some existing functions from `replication_test` in `rpc_test` implementation. Please note, though, that there are still some functions that are borrowed from `replication_test` but not yet extracted to common helpers. This is mostly because RPC tests doesn't need all the complexity that `replication_test` has, thus, some helpers are copied in a reduced form. It would take some effort to refactor these bits to fit both `replication_test` and `rpc_test` without sacrificing convenience. This will probably be addressed in another series later. * manmanson/raft-rpc-tests-v9-alt3: raft: add tests for RPC module test: add CHECK_EVENTUALLY_EQUAL utility macro raft: replication_test: reset test rpc network between test runs raft: replication_test: extract tickers initialization into a separate func raft: replication_test: support passing custom `apply_fn` to `change_configuration()` raft: replication_test: introduce `test_server` aggregate struct raft: replication_test: support voter<->learner configuration changes raft: remove duplicate `create_command` function from `replication_test` raft: avoid 'using' statements in raft testing helpers header