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]
