You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Shashikant Banerjee (Jira)" <ji...@apache.org> on 2020/01/30 17:46:00 UTC

[jira] [Comment Edited] (RATIS-759) Support stream APIs to send large messages

    [ https://issues.apache.org/jira/browse/RATIS-759?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17026869#comment-17026869 ] 

Shashikant Banerjee edited comment on RATIS-759 at 1/30/20 5:45 PM:
--------------------------------------------------------------------

Thanks [~ljain], i think unless the stream is closed, we don't have the issue here. The leader just holds up to the messages until the stream is closed, it will create a ratis transaction only once the close is executed. Even if the leader changes in between, the closing of the stream will fail with NotLeaderException.


was (Author: shashikant):
Thanks [~ljain], i think unless the stream is closed, we don't have the issue here. The leader just holds up to the messages until the stream is closed, it will create a ratis transaction only once the close is executed. Even if the leader changes in between, the closing of the stream will fail with NotLeaderException.

> Support stream APIs to send large messages
> ------------------------------------------
>
>                 Key: RATIS-759
>                 URL: https://issues.apache.org/jira/browse/RATIS-759
>             Project: Ratis
>          Issue Type: New Feature
>          Components: client, server
>            Reporter: Tsz-wo Sze
>            Assignee: Tsz-wo Sze
>            Priority: Major
>         Attachments: r759_20200115.patch, r759_20200123.patch
>
>
> It is inefficient to send a large message using send(Message)/sendAsync(Message) in RaftClient.  We already have RaftOutputStream implemented with sendAsync(..).  We propose adding the following new APIs
> {code}
>   /** Create a stream to send a large message. */
>   MessageOutputStream stream();
>   /** Send the given message using a stream. */
>   CompletableFuture<RaftClientReply> streamAsync(Message message);
> {code} 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)