From 61c85ed320b2424b0e46c21f967396d6d943d3a8 Mon Sep 17 00:00:00 2001 From: Sam Stuewe Date: Thu, 27 Jul 2023 13:00:40 -0500 Subject: [PATCH] fix: ensure shard is initialized before auditing Signed-off-by: Sam Stuewe --- src/uhs/twophase/locking_shard/controller.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/uhs/twophase/locking_shard/controller.cpp b/src/uhs/twophase/locking_shard/controller.cpp index 096d02471..4315c4ea3 100644 --- a/src/uhs/twophase/locking_shard/controller.cpp +++ b/src/uhs/twophase/locking_shard/controller.cpp @@ -51,10 +51,6 @@ namespace cbdc::locking_shard { return false; } - m_audit_thread = std::thread([this]() { - audit(); - }); - auto params = nuraft::raft_params(); params.election_timeout_lower_bound_ = static_cast(m_opts.m_election_timeout_lower); @@ -79,6 +75,10 @@ namespace cbdc::locking_shard { m_shard = m_state_machine->get_shard_instance(); + m_audit_thread = std::thread([this]() { + audit(); + }); + if(m_shard_id > (m_opts.m_locking_shard_raft_endpoints.size() - 1)) { m_logger->error("The shard ID is out of range " "of the m_locking_shard_raft_endpoints vector.");