From a8efcac89b4655308ddc8587c9891cbe7ca3d9ca Mon Sep 17 00:00:00 2001 From: Asias He Date: Tue, 18 Aug 2015 11:20:24 +0800 Subject: [PATCH] storage_service: Run init_server inside seastar::async This helps enabling more code inside it. --- service/storage_service.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/service/storage_service.cc b/service/storage_service.cc index a84be6d93c..b202da141f 100644 --- a/service/storage_service.cc +++ b/service/storage_service.cc @@ -827,6 +827,7 @@ void storage_service::unregister_subscriber(endpoint_lifecycle_subscriber* subsc } future<> storage_service::init_server(int delay) { + return seastar::async([this, delay] { #if 0 logger.info("Cassandra version: {}", FBUtilities.getReleaseVersionString()); logger.info("Thrift API version: {}", cassandraConstants.VERSION); @@ -924,9 +925,8 @@ future<> storage_service::init_server(int delay) { }, "StorageServiceShutdownHook"); Runtime.getRuntime().addShutdownHook(drainOnShutdown); #endif - return prepare_to_join().then([this, delay] { - return join_token_ring(delay); - }); + prepare_to_join().get(); + join_token_ring(delay).get(); #if 0 // Has to be called after the host id has potentially changed in prepareToJoin(). for (ColumnFamilyStore cfs : ColumnFamilyStore.all()) @@ -952,6 +952,7 @@ future<> storage_service::init_server(int delay) { logger.info("Not joining ring as requested. Use JMX (StorageService->joinRing()) to initiate ring joining"); } #endif + }); } future<> storage_service::replicate_to_all_cores() {