You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Rajesh Balamohan (Jira)" <ji...@apache.org> on 2019/10/14 12:49:00 UTC

[jira] [Created] (HDDS-2301) Write path: Reducing read contention in rocksDB

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: hdfs-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-help@hadoop.apache.org