From f205ae30c3c5182233b7669aebfb16a76bd4f088 Mon Sep 17 00:00:00 2001 From: Asias He Date: Wed, 28 Oct 2015 15:29:51 +0800 Subject: [PATCH 1/4] tests: Fix gossip - scylla/seastar/core/sharded.hh:439: Service& seastar::sharded::local() [with Service = locator::snitch_ptr]: Assertion `local_is_initialized()' failed. - ./utils/fb_utilities.hh:74: static const inet_address utils::fb_utilities::get_broadcast_address(): Assertion `broadcast_address()' failed. --- tests/gossip.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/gossip.cc b/tests/gossip.cc index 8177a173d6..b3ab4bda21 100644 --- a/tests/gossip.cc +++ b/tests/gossip.cc @@ -27,6 +27,8 @@ #include "gms/gossiper.hh" #include "gms/application_state.hh" #include "service/storage_service.hh" +#include "utils/fb_utilities.hh" +#include "locator/snitch_base.hh" #include "log.hh" #include @@ -42,8 +44,11 @@ int main(int ac, char ** av) { auto config = app.configuration(); logging::logger_registry().set_logger_level("gossip", logging::log_level::trace); const gms::inet_address listen = gms::inet_address(config["listen-address"].as()); + utils::fb_utilities::set_broadcast_address(listen); auto vv = std::make_shared(); - service::init_storage_service(db).then([vv, listen, config] { + locator::i_endpoint_snitch::create_snitch("SimpleSnitch").then([&db] { + return service::init_storage_service(db); + }).then([vv, listen, config] { return net::get_messaging_service().start(listen); }).then([config] { auto& server = net::get_local_messaging_service(); From 01ee5d002ad2fa3c900d5a21083e764f066dbd5e Mon Sep 17 00:00:00 2001 From: Asias He Date: Wed, 28 Oct 2015 15:33:36 +0800 Subject: [PATCH 2/4] failure_detector: Remove debug print in operator<< --- gms/failure_detector.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/gms/failure_detector.cc b/gms/failure_detector.cc index 681b0664e0..b6e14824d8 100644 --- a/gms/failure_detector.cc +++ b/gms/failure_detector.cc @@ -269,7 +269,6 @@ void failure_detector::unregister_failure_detection_event_listener(i_failure_det } std::ostream& operator<<(std::ostream& os, const failure_detector& x) { - os << "----------- failure_detector: -----------\n"; for (auto& entry : x._arrival_samples) { const inet_address& ep = entry.first; const arrival_window& win = entry.second; From e0e8e9a1eddf5be767d581ed32a87b9d141705bd Mon Sep 17 00:00:00 2001 From: Asias He Date: Wed, 28 Oct 2015 15:45:56 +0800 Subject: [PATCH 3/4] tests: Remove redundant debug info for gossip The debug info is printed in logger already. Avoid to print it twice. --- tests/gossip.cc | 9 --------- 1 file changed, 9 deletions(-) diff --git a/tests/gossip.cc b/tests/gossip.cc index b3ab4bda21..46ebd68734 100644 --- a/tests/gossip.cc +++ b/tests/gossip.cc @@ -78,15 +78,6 @@ int main(int ac, char ** av) { int generation_number = duration_cast(now).count(); return gossiper.start(generation_number, app_states); }).then([vv] { - auto reporter = std::make_shared>(); - reporter->set_callback ([reporter] { - auto& gossiper = gms::get_local_gossiper(); - gossiper.dump_endpoint_state_map(); - auto& fd = gms::get_local_failure_detector(); - print("%s", fd); - }); - reporter->arm_periodic(std::chrono::milliseconds(1000)); - auto app_state_adder = std::make_shared>(); app_state_adder->set_callback ([vv, app_state_adder] { static double load = 0.5; From 25c898fe9c5e30af8c8b5bd8e01356538a35b676 Mon Sep 17 00:00:00 2001 From: Asias He Date: Wed, 28 Oct 2015 16:06:43 +0800 Subject: [PATCH 4/4] gossip: Enable too more log prints for debug --- gms/gossiper.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gms/gossiper.cc b/gms/gossiper.cc index ff7444d72d..4088185e0a 100644 --- a/gms/gossiper.cc +++ b/gms/gossiper.cc @@ -419,7 +419,7 @@ void gossiper::remove_endpoint(inet_address endpoint) { if(_seeds.count(endpoint)) { build_seeds_list(); _seeds.erase(endpoint); - // logger.info("removed {} from _seeds, updated _seeds list = {}", endpoint, _seeds); + logger.info("removed {} from _seeds, updated _seeds list = {}", endpoint, _seeds); } _live_endpoints.erase(endpoint); @@ -526,6 +526,7 @@ void gossiper::run() { gossipedToSeed check. See CASSANDRA-150 for more exposition. */ + logger.trace("gossiped_to_seed={}, _live_endpoints.size={}, _seeds.size={}", gossiped_to_seed, _live_endpoints.size(), _seeds.size()); if (!gossiped_to_seed || _live_endpoints.size() < _seeds.size()) { do_gossip_to_seed(message).get(); }