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

runzhiwang commented on RATIS-1083:
-----------------------------------


bq. 1.client —(close-stream)—> primary server —(close-stream)—> other servers
bq. 2.primary server <—(ack-close-stream)— other servers
bq. 3.primary server —(start-transaction)—> other servers
bq. 4.client <—(RaftClientReply)— primary server <—(RaftClientReply)— leader

[~szetszwo] I have some question about the RaftClientReply of the 4.

Maybe it should be client <- (DataStreamReply) - primary server <- 
(StartTransactionReplyProto) - leader ?

when client ask primary server to close stream, I think we can call 
DataStreamOutputImpl#closeAsync, and send a DataStreamWindowRequest with a 
close flag. so when primary server response to client, the reply type should be 
DataStreamReply ?

when primary server ask the leader to start transaction, primary server should 
send a StartTransactionRequestProto to the leader, so the reply should be 
StartTransactionReplyProto ?


> Create a transaction once the stream data is replicated to all servers
> ----------------------------------------------------------------------
>
>                 Key: RATIS-1083
>                 URL: https://issues.apache.org/jira/browse/RATIS-1083
>             Project: Ratis
>          Issue Type: Sub-task
>          Components: Streaming
>            Reporter: Tsz-wo Sze
>            Assignee: runzhiwang
>            Priority: Major
>
> Once the stream data has been replicated to all server, the leader should 
> create a Raft transaction.  When the leader send the transaction to the other 
> server by appendEntries, it only has to send the stream data ID instead of 
> sending the stream data.



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

Reply via email to