Replace SimpleStrategy with NetworkTopologyStrategy in integration tests#830
Replace SimpleStrategy with NetworkTopologyStrategy in integration tests#830sylwiaszunejko wants to merge 3 commits intoscylladb:masterfrom
Conversation
36291ce to
bb73387
Compare
e35fa7e to
20b5f60
Compare
dkropachev
left a comment
There was a problem hiding this comment.
I still see lot's of SimpleStrategy in the test code, is it intended to be that way ?
For places where we won't tablets (like some places with test_metadata) disable I left SimpleStrategy, I can change it to NTS with tablets disabled if that is preferred. |
19f2c23 to
be1c0c9
Compare
We should use NTS and avoid SS wherever possible. |
I changed that |
| ddl = ''' | ||
| CREATE KEYSPACE test1rf | ||
| WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'}''' | ||
| WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'} AND tablets = {'enabled': false}''' |
| @classmethod | ||
| def create_keyspace(cls, rf): | ||
| ddl = "CREATE KEYSPACE {0} WITH replication = {{'class': 'SimpleStrategy', 'replication_factor': '{1}'}}".format(cls.ks_name, rf) | ||
| ddl = "CREATE KEYSPACE {0} WITH replication = {{'class': 'SimpleStrategy', 'replication_factor': '{1}'}} AND tablets = {{'enabled': false}}".format(cls.ks_name, rf) |
There was a problem hiding this comment.
it's BasicKeyspaceUnitTestCase so unit test, I only changed code related to integration tests in this PR
Replace SimpleStrategy with NetworkTopologyStrategy across integration tests to align with ScyllaDB's tablet-based replication defaults. In the tablets test module, skip default keyspace creation (set_keyspace=False) to avoid RF=3 keyspaces that block node decommission when all nodes already hold replicas.
With tablets enabled, decommissioning a node from a 3-node cluster with RF=3 fails because there is no available node to receive tablet replicas. Bootstrap 3 replacement nodes instead of 2 so that each original node can be decommissioned while sufficient replicas remain.
LWT is not supported with tablets on ScyllaDB < 2025.4. Mark the affected SerialConsistencyTests and LightweightTransactionTests as xfail for those versions.
be1c0c9 to
25d7927
Compare
In tests/integration/init.py, SimpleStrategy is kept but tablets are explicitly disabled to avoid decommission failures.
Pre-review checklist
./docs/source/.Fixes:annotations to PR description.