You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by GitBox <gi...@apache.org> on 2022/12/19 07:03:55 UTC

[GitHub] [ratis] codings-dan commented on a diff in pull request #798: RATIS-1759. Support client use linearizable read per request

codings-dan commented on code in PR #798:
URL: https://github.com/apache/ratis/pull/798#discussion_r1051868302


##########
ratis-client/src/main/java/org/apache/ratis/client/api/BlockingApi.java:
##########
@@ -45,14 +45,19 @@ default RaftClientReply sendReadOnly(Message message) throws IOException {
     return sendReadOnly(message, null);
   }
 
+  default RaftClientReply sendReadOnly(Message message, RaftPeerId server) throws IOException {
+    return sendReadOnly(message, server, false);
+  }
+
   /**
    * Send the given readonly message to the raft service.
    *
    * @param message The request message.
    * @param server The target server.  When server == null, send the message to the leader.
+   * @param readIndex weather use linearizable read.
    * @return the reply.
    */
-  RaftClientReply sendReadOnly(Message message, RaftPeerId server) throws IOException;
+  RaftClientReply sendReadOnly(Message message, RaftPeerId server, boolean readIndex) throws IOException;

Review Comment:
   just add a new interface, PTAL, thanks!



##########
ratis-client/src/main/java/org/apache/ratis/client/api/AsyncApi.java:
##########
@@ -45,15 +45,20 @@ default CompletableFuture<RaftClientReply> sendReadOnly(Message message) {
     return sendReadOnly(message, null);
   }
 
+  default CompletableFuture<RaftClientReply> sendReadOnly(Message message, RaftPeerId server) {
+    return sendReadOnly(message, null, false);
+  }
+
   /**
    * Send the given readonly message asynchronously to the raft service.
    * Note that the reply futures are completed in the same order of the messages being sent.
    *
    * @param message The request message.
    * @param server The target server.  When server == null, send the message to the leader.
+   * @param readIndex weather use linearizable read
    * @return a future of the reply.
    */
-  CompletableFuture<RaftClientReply> sendReadOnly(Message message, RaftPeerId server);
+  CompletableFuture<RaftClientReply> sendReadOnly(Message message, RaftPeerId server, boolean readIndex);

Review Comment:
   done



##########
ratis-proto/src/main/proto/Raft.proto:
##########
@@ -296,6 +296,10 @@ message ForwardRequestTypeProto {
 message ReadRequestTypeProto {
 }
 
+message ReadIndexRequestTypeProto {
+
+}

Review Comment:
   done



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ratis.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org