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

Tsz-wo Sze commented on RATIS-979:
----------------------------------

Suppose a client disappears after calling close() but not yet returned. The 
primary server has the same problem that it does not know if the client is dead 
or slow. However, since close() is not yet returned, there is no guarantee the 
data will be persisted.  The primary server may choose to either continue the 
operation or clean up the data.  Both ways are correct.

close() returns success usually may the data are safely stored in the system. 
We don't have to handle the case that "close() but never calls 
submitClientRequestAsync()".

We may consider that the primary datanode may also die in the middle. In this 
case, close() cannot return success. So it is not a problem.

> Ratis streaming
> ---------------
>
>                 Key: RATIS-979
>                 URL: https://issues.apache.org/jira/browse/RATIS-979
>             Project: Ratis
>          Issue Type: New Feature
>          Components: Streaming
>            Reporter: Tsz-wo Sze
>            Assignee: Tsz-wo Sze
>            Priority: Major
>         Attachments: RatisStreaming20200929.pdf
>
>
> In this JIRA, we design and implement Ratis Streaming with zero buffer 
> copying and asynchronous event driven.



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

Reply via email to