ChenSammi commented on PR #6331:
URL: https://github.com/apache/ozone/pull/6331#issuecomment-1982879868

   > This can cause the payload in the RocksDB to increase by 64x. I understand 
the need to avoid client to not do wasteful work. Should we benchmark a single 
stream performance for 16, 32, 64, 128 kb?
   
   @kerneltime , thanks for the review. The RocksDB data size change is a valid 
point.  After a further investigation, here is the data.  Currently following 
data structures are used to save block data in RocksDB
   ```
   message BlockData {
     required DatanodeBlockID blockID = 1;
     optional int64 flags = 2; // for future use.
     repeated KeyValue metadata = 3;
     repeated ChunkInfo chunks = 4;
     optional int64 size = 5;
   }
   
   message ChunkInfo {
     required string chunkName = 1;
     required uint64 offset = 2;
     required uint64 len = 3;
     repeated KeyValue metadata = 4;
     required ChecksumData checksumData =5;
     optional bytes stripeChecksum = 6;
   }
   
   message ChecksumData {
     required ChecksumType type = 1;
     required uint32 bytesPerChecksum = 2;
     repeated bytes checksums = 3;
   }
   ```
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to