We have observed that basic_raft_cluster_failure_test hangs on macOS (observed in the macOS CI, as well as on an M3 Mac running macOS Sonoma). This is because of the following block of code in util/raft/node.cpp:46-63
On MacOS, m_launcher.init() returns true in situations where the raft instance cannot successfully be initialized, causing the waiting loop to be infinite. This does not appear to happen on Linux (verified on Ubuntu).
This error occurs in the NuRaft codebase, and so I propose two potential solutions here
We are currently using NuRaft v1.3.0, whereas NuRaft is currently on version 2.1.0. We should investigate whether this problem has been solved to this point and consider upgrading.
We should add a timeout such that we never wait longer than for raft initialization. This is likely a wise addition whether or not we upgrade NuRaft.
Basic Diagnostics
[X] I've pulled the latest changes on the affected branch and the issue is still present.
[ ] The issue is reproducible in docker
Description
In order to reproduce the issue, follow these steps:
Run the basic_raft_cluster_failure_test on MacOS
Code of Conduct
[X] I agree to follow this project's Code of Conduct
Affected Branch
We have observed that
basic_raft_cluster_failure_test
hangs on macOS (observed in the macOS CI, as well as on an M3 Mac running macOS Sonoma). This is because of the following block of code inutil/raft/node.cpp:46-63
On MacOS,
m_launcher.init()
returns true in situations where the raft instance cannot successfully be initialized, causing the waiting loop to be infinite. This does not appear to happen on Linux (verified on Ubuntu).This error occurs in the NuRaft codebase, and so I propose two potential solutions here
Basic Diagnostics
[X] I've pulled the latest changes on the affected branch and the issue is still present.
[ ] The issue is reproducible in docker
Description
In order to reproduce the issue, follow these steps:
basic_raft_cluster_failure_test
on MacOSCode of Conduct