Allow starting clusters of Scylla servers. Chain up the next server start to the end of the previous one, and set the next server's seed to the previous server. As a workaround for a race between token dissemination through gossip and streaming, change schema version to force a gossip round and make sure all tokens end up at the joining node in time. Make sure scylla start is not race prone. auth::standard_role_manager creates "cassandra" role in an async loop auth::do_after_system_ready(), which retries role creation with an exponential back-off. In other words, even after CQL port is up, Scylla may still be initializing. This race condition could lead to spurious errors during cluster bootstrap or during a test under CI. When the role is ready, queries begin to work, so rely on this "side effect". To start or stop servers, use a new class, ScyllaCluster, which encapsulates multiple servers united into a cluster. In it, validate that a test case cleans up after itself. Additionally, swallow startup errors and throw them when the test is actually used.
0 lines
0 B
Python
0 lines
0 B
Python
The file is empty.