summaryrefslogtreecommitdiff
path: root/ovsdb
diff options
context:
space:
mode:
authorHan Zhou <hzhou@ovn.org>2020-02-28 18:07:09 -0800
committerBen Pfaff <blp@ovn.org>2020-03-06 14:01:18 -0800
commit99c2dc8d04b3b697edfa02b06e127edad6ad5b28 (patch)
tree198bd1903738286de98fdfd86a81637259d6246a /ovsdb
parentb5e8810443a552b0adc5ff05b483c30de63f5ab9 (diff)
downloadopenvswitch-99c2dc8d04b3b697edfa02b06e127edad6ad5b28.tar.gz
raft: Send all missing logs in one single append_request.
When a follower needs to "catch up", leader can send N entries in a single append_request instead of only one entry by each message. The function raft_send_append_request() already supports this, so this patch just calculate the correct "n" and use it. Signed-off-by: Han Zhou <hzhou@ovn.org> Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'ovsdb')
-rw-r--r--ovsdb/raft.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ovsdb/raft.c b/ovsdb/raft.c
index 0eb8644f3..c5c1d49a8 100644
--- a/ovsdb/raft.c
+++ b/ovsdb/raft.c
@@ -3344,7 +3344,7 @@ raft_handle_append_reply(struct raft *raft,
raft_send_install_snapshot_request(raft, s, NULL);
} else if (s->next_index < raft->log_end) {
/* Case 2. */
- raft_send_append_request(raft, s, 1, NULL);
+ raft_send_append_request(raft, s, raft->log_end - s->next_index, NULL);
} else {
/* Case 3. */
if (s->phase == RAFT_PHASE_CATCHUP) {