Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
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.
Attachments
Issue Links
- is blocked by
-
HDDS-10288 Checksum to support direct buffers
- Resolved