diff --git a/src/traft/node.rs b/src/traft/node.rs index 4c7ba9517b04a44c14763c4366010494a0b22919..592297db003032fc299988b88dea602bb3c2bef2 100644 --- a/src/traft/node.rs +++ b/src/traft/node.rs @@ -197,8 +197,10 @@ impl Node { pub fn campaign(&self) -> Result<(), Error> { self.raw_operation(|raw_node| raw_node.campaign().map_err(Into::into))?; - // even though we don't expect a response, we still should let the - // main_loop do an iteration + // Even though we don't expect a response, we still should let the + // main_loop do an iteration. Without rescheduling, the Ready state + // wouldn't be processed, the Status wouldn't be updated, and some + // assertions may fail (e.g. in `postjoin()` in `main.rs`). fiber::reschedule(); Ok(()) }