From 3fd682de4bf5ecd61ced8f5da4e3a9c27feec1c9 Mon Sep 17 00:00:00 2001 From: Tomasz Grabiec Date: Thu, 23 Jul 2015 12:26:23 +0200 Subject: [PATCH] db/legacy_schema_tables: Fix dead lock in create table statement merge_schema() was recursively calling itself, causing it to block iself on a non-recursive lock. --- db/legacy_schema_tables.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/legacy_schema_tables.cc b/db/legacy_schema_tables.cc index c6ee9220e2..0821933859 100644 --- a/db/legacy_schema_tables.cc +++ b/db/legacy_schema_tables.cc @@ -512,7 +512,7 @@ future<> save_system_keyspace_schema() { future<> merge_schema(service::storage_proxy& proxy, std::vector mutations, bool do_flush) { return merge_lock().then([&proxy, mutations = std::move(mutations), do_flush] { - return merge_schema(proxy, std::move(mutations), do_flush); + return do_merge_schema(proxy, std::move(mutations), do_flush); }).finally([] { return merge_unlock(); });