diff --git a/locator/abstract_replication_strategy.cc b/locator/abstract_replication_strategy.cc index 3be6107704..5344a3be17 100644 --- a/locator/abstract_replication_strategy.cc +++ b/locator/abstract_replication_strategy.cc @@ -11,7 +11,8 @@ abstract_replication_strategy::abstract_replication_strategy(const sstring& ks_n _ks_name(ks_name), _config_options(config_options), _token_metadata(token_metadata), _snitch(snitch) {} std::unique_ptr abstract_replication_strategy::create_replication_strategy(const sstring& ks_name, const sstring& strategy_name, token_metadata& tk_metadata, i_endpoint_snitch& snitch, std::unordered_map& config_options) { - return create_object(strategy_name, ks_name, tk_metadata, snitch, config_options); + sstring class_name = strategy_name.find(".") != sstring::npos ? strategy_name : "org.apache.cassandra.locator." + strategy_name; + return create_object(class_name, ks_name, tk_metadata, snitch, config_options); } std::vector abstract_replication_strategy::get_natural_endpoints(const token& search_token) { diff --git a/tests/urchin/cql_query_test.cc b/tests/urchin/cql_query_test.cc index 82c91e939e..76d6b95bee 100644 --- a/tests/urchin/cql_query_test.cc +++ b/tests/urchin/cql_query_test.cc @@ -18,7 +18,7 @@ SEASTAR_TEST_CASE(test_create_keyspace_statement) { return do_with_cql_env([] (auto& e) { - return e.execute_cql("create keyspace ks2 with replication = { 'class' : 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor' : 1 };").discard_result().then([&e] { + return e.execute_cql("create keyspace ks2 with replication = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };").discard_result().then([&e] { return e.require_keyspace_exists("ks2"); }); });