mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-28 10:41:12 +00:00
raft: testing: make become_follower() available for tests
Some etcd tests need to force a follower with a specific leader. Signed-off-by: Alejo Sanchez <alejo.sanchez@scylladb.com>
This commit is contained in:
@@ -238,8 +238,6 @@ private:
|
||||
|
||||
void become_candidate(bool is_prevote, bool is_leadership_transfer = false);
|
||||
|
||||
void become_follower(server_id leader);
|
||||
|
||||
// Controls whether the follower has been responsive recently,
|
||||
// so it makes sense to send more data to it.
|
||||
bool can_send_to(const follower_progress& progress);
|
||||
@@ -277,6 +275,9 @@ private:
|
||||
|
||||
void send_timeout_now(server_id);
|
||||
protected: // For testing
|
||||
|
||||
void become_follower(server_id leader);
|
||||
|
||||
leader& leader_state() {
|
||||
return std::get<leader>(_state);
|
||||
}
|
||||
|
||||
@@ -92,6 +92,9 @@ raft::fsm_config fsm_cfg{.append_request_threshold = 1, .enable_prevoting = fals
|
||||
class fsm_debug : public raft::fsm {
|
||||
public:
|
||||
using raft::fsm::fsm;
|
||||
void become_follower(server_id leader) {
|
||||
raft::fsm::become_follower(leader);
|
||||
}
|
||||
const raft::follower_progress& get_progress(server_id id) {
|
||||
raft::follower_progress* progress = leader_state().tracker.find(id);
|
||||
return *progress;
|
||||
|
||||
Reference in New Issue
Block a user