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

GuoHao commented on RATIS-1938:
-------------------------------

cc [~szetszwo] [~Sammi] 

> Optimize stream friendly small file transfers
> ---------------------------------------------
>
>                 Key: RATIS-1938
>                 URL: https://issues.apache.org/jira/browse/RATIS-1938
>             Project: Ratis
>          Issue Type: Improvement
>            Reporter: GuoHao
>            Priority: Major
>
> Currently, stream writing requires 3 steps
> 1. stream init
> 2. write data
> 3. close stream
> For small files can we optimize this transfer process by combining these 
> three steps into one and using a single rpc to merge the three steps?
>  
> {code:java}
> message DataStreamPacketHeaderProto {
>   enum Type {
>     STREAM_HEADER = 0;
>     STREAM_DATA = 1;
>     STREAM_HEADER_DATA = 2;  // Add a new header, the init packet contains 
> the data and is transmitted and then closed.   
>   }
>   enum Option {
>     SYNC = 0;
>     CLOSE = 1;
>   }
>   bytes clientId = 1;
>   Type type = 2;
>   uint64 streamId = 3;
>   uint64 streamOffset = 4;
>   uint64 dataLength = 5;
>   repeated Option options = 6;
> } {code}
>  
> I understand that https://issues.apache.org/jira/browse/RATIS-1157 can 
> optimize the current process, but for small files it still keeps stream init
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to