[
https://issues.apache.org/jira/browse/RATIS-1083?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17216079#comment-17216079
]
runzhiwang commented on RATIS-1083:
-----------------------------------
[~szetszwo] Hi, please correct me if I am wrong. In ozone case, When client
close stream, ozone will call DataStreamOutputImpl#closeAsync to send a
DataStreamWindowRequest with a close flag to the primary server. And when
primary server start transaction, primary server will call
RaftClientImpl#async()#send to send a RaftClientRequest with the WriteType to
the leader, when primary server receive the RaftClientReply from the leader,
primary server will encode the RaftClientReply into DataStreamReply#buffer. So
client will receive DataStreamReply finally and decode the RaftClientReply from
DataStreamReply#buffer.
> 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)