From 9a7d25f6a53970571b042c9470c7d21133656920 Mon Sep 17 00:00:00 2001 From: Matej Ferencevic Date: Thu, 18 Oct 2018 09:44:04 +0200 Subject: [PATCH] Fix distributed startup and QA test Reviewers: msantl, teon.banek Reviewed By: teon.banek Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D1674 --- src/memgraph_distributed.cpp | 6 +++--- tests/qa/tck_engine/environment.py | 9 ++++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/memgraph_distributed.cpp b/src/memgraph_distributed.cpp index 6b9fa6478..15e9e82b3 100644 --- a/src/memgraph_distributed.cpp +++ b/src/memgraph_distributed.cpp @@ -98,12 +98,12 @@ void MasterMain() { InitSignalHandlers(shutdown); - // Start the Bolt server. - CHECK(server.Start()) << "Couldn't start the Bolt server!"; - // Start the database. db.Start(); + // Start the Bolt server. + CHECK(server.Start()) << "Couldn't start the Bolt server!"; + // The return code of `AwaitShutdown` is ignored because we want the database // to exit cleanly no matter what. db.AwaitShutdown([&server] { diff --git a/tests/qa/tck_engine/environment.py b/tests/qa/tck_engine/environment.py index 183331df0..c7b394ce1 100644 --- a/tests/qa/tck_engine/environment.py +++ b/tests/qa/tck_engine/environment.py @@ -22,8 +22,9 @@ COMMON_FLAGS = ["--durability-enabled=false", DISTRIBUTED_FLAGS = ["--num-workers", str(6), "--rpc-num-client-workers", str(6), "--rpc-num-server-workers", str(6)] +MASTER_PORT = 10000 MASTER_FLAGS = ["--master", - "--master-port", "10000"] + "--master-port", str(MASTER_PORT)] MEMGRAPH_PORT = 7687 # Module-scoped variables @@ -63,7 +64,7 @@ def get_worker_flags(worker_id): def wait_for_server(port, delay=0.01): - cmd = ["nc", "-z", "-w", "1", "127.0.0.1", port] + cmd = ["nc", "-z", "-w", "1", "127.0.0.1", str(port)] count = 0 while subprocess.call(cmd) != 0: time.sleep(0.01) @@ -94,12 +95,14 @@ def start_memgraph(context): temporary_directory.name, "master")) run_memgraph(context, master_flags + DISTRIBUTED_FLAGS + MASTER_FLAGS, context.config.distributed) + wait_for_server(MASTER_PORT, 0.5) for i in range(1, int(context.config.num_machines)): worker_flags = flags.copy() worker_flags.append("--durability-directory=" + os.path.join( temporary_directory.name, "worker" + str(i))) run_memgraph(context, worker_flags + DISTRIBUTED_FLAGS + get_worker_flags(i), context.config.distributed) + wait_for_server(MASTER_PORT + i, 0.5) else: # Run single machine memgraph flags = COMMON_FLAGS.copy() if context.config.memgraph_params: @@ -107,7 +110,7 @@ def start_memgraph(context): flags.append("--durability-directory=" + temporary_directory.name) run_memgraph(context, flags, context.config.distributed) assert is_tested_system_active(context), "Failed to start memgraph" - wait_for_server(str(MEMGRAPH_PORT)) # wait for memgraph to start + wait_for_server(MEMGRAPH_PORT, 0.5) # wait for memgraph to start def cleanup(context):