Skip to content

Commit

Permalink
added timeout to raft initialization
Browse files Browse the repository at this point in the history
Signed-off-by: eolesinski <eo2454@columbia.edu>
Co-authored-by: Michael Maurer <maurer.mi@northeastern.edu>
  • Loading branch information
eolesinski and maurermi committed Jul 24, 2024
1 parent a055e7f commit 19d9292
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions src/util/raft/node.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,21 @@ namespace cbdc::raft {

m_log->info("Waiting for raft initialization");
static constexpr auto wait_time = std::chrono::milliseconds(100);
static constexpr auto timeout = std::chrono::seconds(30);

auto start_time = std::chrono::steady_clock::now();

while(!m_raft_instance->is_initialized()) {
std::this_thread::sleep_for(wait_time);
auto elapsed_time = std::chrono::steady_clock::now() - start_time;

if(elapsed_time > timeout) {

m_log->error("Raft initialization timed out");
m_raft_instance->shutdown();
m_raft_instance.reset();
return false;
}
}
m_log->info("Raft initialization complete");

Expand Down

0 comments on commit 19d9292

Please sign in to comment.