Dear Ozone Devs,

I 'm starting this thread to vote for the merge of Ozone Datanode RocksDB
merge feature branch (HDDS-3630
https://issues.apache.org/jira/browse/HDDS-3630) into the master branch.

Currently there will be one RocksDB for each Container on datanode, which
leads to hundreds of thousands of RocksDB instances on one datanode. It's
very challenging to manage this amount of RocksDB instances in one JVM.
Please refer to the "problem statement" section of the design document[1]
for challenge details. Unlike the current approach, Datanode RocksDB merge
feature will use only one RocksDB for each data volume. With far fewer
RocksDB instances to manage, the write path performance and DN stability
are improved, Refer to the Micro Benchmark Data section of the design
document[1].

The feature has been developed in the last 8 months. And it has also been
deployed in Tencent production for 5 months. Now we have reviewed all core
patches, and merged them into the feature branch,  including new disk
layout, new container schema, container replication, container deletion,
block deletion, container scanner, non-rolling upgrade. There are no
blocking JIRAs left. Document and the acceptance test are added too.

For the sake of master branch feature stability, we provide a configuration
to enable/disable this feature. Currently by default, this feature is
disabled. We can turn it on later once we believe it is stable enough.

For more information, please check out the Merge RocksDB in datanode
feature wiki page here:

https://cwiki.apache.org/confluence/display/OZONE/Merge+Rocksdb+in+Datanode+%28HDDS-3630%29+Merge+Checklist

Great thanks to Mark Gui<guim...@126.com>, majority feature investigation,
design and core development is contributed by him. Thanks a lot to Runzhi
Wang,  for first finding current schema V2 layout challenges and initiating
the proposal of merge RocksDB,  to Nanda, Mukul, Wei-Chiu, Jackson and
Stephen O’Donnell for the help in design review, design discussion and code
review.  If I miss anyone here, sorry for that,  but your efforts are well
appreciated.


[1] Merge RocksDB in Datanode Design Doc
<https://docs.google.com/document/d/1oPCRUVqTJDbYITbwvoVCOZ2-k108FwOXVhq9ukDKHbQ/edit#heading=h.w06vnlv65sb6>


Thanks,
Sammi

Reply via email to