Rajesh Balamohan created HDDS-2301:
--------------------------------------
Summary: Write path: Reducing read contention in rocksDB
Key: HDDS-2301
URL: https://issues.apache.org/jira/browse/HDDS-2301
Project: Hadoop Distributed Data Store
Issue Type: Bug
Affects Versions: 0.5.0
Reporter: Rajesh Balamohan
Attachments: om_write_profile.png
Benchmark:
------------
Simple benchmark which creates 100 and 1000s of keys (empty directory) in OM.
This is done in a tight loop and multiple threads from client side to add
enough load on CPU. Note that intention is to understand the bottlenecks in OM
(intentionally avoiding interactions with SCM & DN).
Observation:
-------------
During write path, Ozone checks {{OMFileRequest.verifyFilesInPath}}. This
internally calls {{omMetadataManager.getKeyTable().get(dbKeyName)}} for every
write operation. This turns out to be expensive and chokes the entire read path.
https://github.com/apache/hadoop/blob/trunk/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequest.java#L155
https://github.com/apache/hadoop/blob/trunk/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileRequest.java#L63
In most of the cases, directory creation would be fresh entry. In such cases,
it would be good to try with {{RocksDB::keyMayExist}}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]