From 043fae2ef57308393a1dd7c66dd96ba6ecfbd899 Mon Sep 17 00:00:00 2001 From: "Raphael S. Carvalho" Date: Mon, 15 May 2017 18:39:35 -0300 Subject: [PATCH] sstables: loads components for a sstable in parallel Signed-off-by: Raphael S. Carvalho Reviewed-by: Nadav Har'El --- sstables/sstables.cc | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/sstables/sstables.cc b/sstables/sstables.cc index 74aba8505a..32a9934229 100644 --- a/sstables/sstables.cc +++ b/sstables/sstables.cc @@ -1217,19 +1217,16 @@ future<> sstable::create_data() { // No need to set tunable priorities for it. future<> sstable::load() { return read_toc().then([this] { - return read_statistics(default_priority_class()); - }).then([this] { - validate_min_max_metadata(); - set_clustering_components_ranges(); - return read_compression(default_priority_class()); - }).then([this] { - return read_scylla_metadata(default_priority_class()); - }).then([this] { - return read_filter(default_priority_class()); - }).then([this] {; - return read_summary(default_priority_class()); - }).then([this] { - return open_data(); + return seastar::when_all_succeed( + read_statistics(default_priority_class()), + read_compression(default_priority_class()), + read_scylla_metadata(default_priority_class()), + read_filter(default_priority_class()), + read_summary(default_priority_class())).then([this] { + validate_min_max_metadata(); + set_clustering_components_ranges(); + return open_data(); + }); }); }