From 12558fc351f096d9cb97a805ad1e4aac47801024 Mon Sep 17 00:00:00 2001
From: "Peter J. Keleher" <keleher@cs.umd.edu>
Date: Sun, 12 Nov 2023 11:12:19 -0500
Subject: [PATCH] auto

---
 p5.md | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/p5.md b/p5.md
index 9bd1767..7148e16 100644
--- a/p5.md
+++ b/p5.md
@@ -1,7 +1,12 @@
 # RAFT
-**v1.1**
+**v1.11**
 ## Due: Nov 19, 2023, 11:59:59 pm
 
+Latest changes:
+- Follower replica getting a command request should forward to the
+leader (and wait). The incoming context should be used in the
+forward. This change should took about two lines of code.
+
 ## Setup
 
 Download files [here](https://sedna.cs.umd.edu/818/projects/p5.tgz?1).
@@ -55,8 +60,11 @@ Your servers and clients are called as follows:
   of the system and the command is a simple uninterpreted string.
   For example: `go run client.go
   localhost:8002 one` submits the command "one" to
-  `localhost:8002`. If this host is not the leader it returns *false*
-  to the client, which prints this out. The RPC to the server will not
+  `localhost:8002`. If this host is not the leader, the request should
+  be forwarded to the true leader using the same context. So the
+  client will be waiting on the local raft gothread, which is waiting
+  on the remote replica gothread, which is waiting on the channel that
+  will be activated when the command commits. The RPC to the server will not
   return until the command is committed, at which point the client
   will print out "true".
 
-- 
GitLab