From 5e1d1efa7b71a33c0848a384b0b057123fa38c52 Mon Sep 17 00:00:00 2001
From: Georgy Moshkin <gmoshkin@picodata.io>
Date: Wed, 28 Aug 2024 00:17:22 +0300
Subject: [PATCH] fix: used to sometimes report incorrect raft term immediately
 after restarting

---
 src/traft/node.rs | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/traft/node.rs b/src/traft/node.rs
index c05e7cd9aa..fc4b1c25d8 100644
--- a/src/traft/node.rs
+++ b/src/traft/node.rs
@@ -467,6 +467,7 @@ impl NodeImpl {
             .map_err(box_err)?
             .expect("raft_id should be set by the time the node is being initialized");
         let applied: RaftIndex = raft_storage.applied().map_err(box_err)?;
+        let term: RaftTerm = raft_storage.term().map_err(box_err)?;
         let lc = {
             let gen = raft_storage.gen().unwrap() + 1;
             raft_storage.persist_gen(gen).unwrap();
@@ -488,7 +489,7 @@ impl NodeImpl {
         let (status, _) = watch::channel(Status {
             id: raft_id,
             leader_id: None,
-            term: traft::INIT_RAFT_TERM,
+            term,
             raft_state: RaftState::Follower,
             main_loop_status: "idle",
         });
-- 
GitLab