Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Duplicate
-
None
-
None
Description
Today, datanodes don't use direct buffers for WriteChunk data. When the chunks are written to disk, NIO converts those buffers to direct ones and the conversion seems to be very costly (please see attached datanode-on-write2.html).
Chunk data proto should be serialized from network/ratis using (pooled) direct buffers. That would avoid lots of extra costs not only from buffer copying but also from GCing the immediate buffers.
Attachments
Attachments
Issue Links
- is fixed by
-
HDDS-7117 Consider reading chunk files using MappedByteBuffer
- Resolved
- is related to
-
RATIS-1926 Support Zero-Copy in loading log entries from local files
- Open
-
RATIS-1925 Support Zero-Copy in GrpcClientProtocolService
- Resolved
-
HDDS-7188 Read chunk files using netty ChunkedNioFile.
- Open
-
HDDS-7117 Consider reading chunk files using MappedByteBuffer
- Resolved
-
HDDS-9611 Avoid unnecessary buffer conversion
- Resolved
- requires
-
HDDS-9936 Create a DispatcherContext for ReadChunk and GetSmallFile
- Open
- split to
-
HDDS-9843 Ozone client high memory (heap) utilization
- Resolved
- links to