kuenishi commented on pull request #2448:
URL: https://github.com/apache/ozone/pull/2448#issuecomment-886387860


   Thanks for heads up, @symious . I didn't even expect this issue caused OOM. 
This patch is minimal and nice (same patch as my initial one). I'm fine either 
patch is merged.
   
   My patch (#2433) is a little bit complex than #2448, but when it comes to 
supporting versioning, it will reduce the total effort of implementing object 
versioning. In either case, my opinion is we have to change the way how we 
store multiple versions in RocksDB, because S3 API does not have any limit on 
total number of versions per key. If we store all versions in a single key in 
RocksDB, the size of the value can be infinitely large that potentially breaks 
every assumption about value size in OM and RocksDB. My suggestion is to append 
some sorted (descending) suffix to key name to use scan API of RocksDB. 
Otherwise, just getting latest version of an object will involve getting all 
versions, leading to unnecessary read load to underlying storage device.
   
   In that perspective of potential design of versioning, proposal no.2 in 
@symious 's doc would be preferable. My :+1: is for single key-value in RocksDB 
storing single set of blocks that belongs to single version of an object.


-- 
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