tests: fix NLB replacement test bootstrap crash due to missing rackdc properties#772
tests: fix NLB replacement test bootstrap crash due to missing rackdc properties#772mykaul wants to merge 1 commit intoscylladb:masterfrom
Conversation
|
@mykaul , this fix is wrong - test needs to specify concrete dc and rack it wants to place new nodes in, taking them from nodes already provisioned |
@dkropachev - isn't it correct anyway, to specify the topology explicitly? I can fix the test in addition, but this seems correct as well. |
The problem is that test will dump all new nodes into the same dc+rack, which is wrong, it should spread them through existing racks. |
… properties The _bootstrap_node() method in TestFullNodeReplacementThroughNlb calls ccm_cluster.add() without passing data_center or rack. CCM does not infer these from existing nodes, so the new node's cassandra-rackdc.properties file is left with only template comments. Scylla's GossipingPropertyFileSnitch fails to parse the empty file and crashes on startup with 'locator::bad_property_file_error'. Fix by reading data_center/rack from an existing cluster node and passing them explicitly to ccm_cluster.add(). This test was added in PR scylladb#706 with a @skip_scylla_version_lt(2026.1.0) decorator and CI runs Scylla 2025.2, so the bug was never caught.
aab7e79 to
150ae37
Compare
|
v2: Addressed review feedback from @dkropachev. Instead of inferring Changes:
|
Summary
TestFullNodeReplacementThroughNlb::test_should_survive_full_node_replacement_through_nlbwhich always crashes when bootstrapping node 4/5_bootstrap_node()callsccm_cluster.add()withoutdata_centerorrack— CCM leavescassandra-rackdc.propertiesempty, and Scylla's snitch crashes withlocator::bad_property_file_errordata_center/rackfrom existing cluster nodes and pass explicitlyDetails
The test was added in PR #706 with
@skip_scylla_version_lt(scylla_version="2026.1.0"). Since CI usesSCYLLA_VERSION: release:2025.2, the test was always skipped and the bug was never caught.Scylla error from node4 startup log:
Testing
Verified 10/10 passes on Scylla 2026.1 after the fix (previously 0/10).