[
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)