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

Reply via email to