diff --git a/src/raft.cpp b/src/raft.cpp index 95a0d8d..6db67dd 100644 --- a/src/raft.cpp +++ b/src/raft.cpp @@ -346,7 +346,7 @@ std::unique_ptr TRaft::Leader(ITimeSource::Time now, TMessageHolderData, command->Data, dataSize); entry->Term = State->CurrentTerm; log.push_back(entry); - auto index = log.size(); + auto index = log.size()-1; auto nextState = std::make_unique(TState { .CurrentTerm = State->CurrentTerm, .VotedFor = State->VotedFor, @@ -360,6 +360,7 @@ std::unique_ptr TRaft::Leader(ITimeSource::Time now, TMessageHolder(nextVolatileState), .Message = mes, + .Messages = CreateAppendEntries() }); } else if (auto maybeVoteRequest = message.Maybe()) { return OnRequestVote(std::move(maybeVoteRequest.Cast()));