Duong created HDDS-10283:
----------------------------

             Summary: Apply Zero-Copy when Ozone client reads chunks
                 Key: HDDS-10283
                 URL: https://issues.apache.org/jira/browse/HDDS-10283
             Project: Apache Ozone
          Issue Type: Bug
            Reporter: Duong


Ozone client, or ChunkInputStream, reads chunks via grpc call. The chunk data 
is included in the `ReadChunkResponseProto` serialized by GRPC. By default, 
GRPC serializes bytes data by copying the data it receives from network (in the 
native memory zone) to heap buffers (LiteralByteString). The ChunkInputStream 
uses these buffers to back the read.

We can apply zero-copy marshaller (ZeroCopyMessageMarshaller) to client reads 
to instruct GRPC to serialize chunks by wrapping the direct buffers of data 
received from the network. This will eliminate the need to allocate extra heap 
buffers when reading data.

 

 



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to