Rakesh Radhakrishnan created HDDS-3824:
------------------------------------------

             Summary: ListStatus should make SCM#refreshPipeline outside the 
BUCKET_LOCK 
                 Key: HDDS-3824
                 URL: https://issues.apache.org/jira/browse/HDDS-3824
             Project: Hadoop Distributed Data Store
          Issue Type: Bug
          Components: Ozone Manager
            Reporter: Rakesh Radhakrishnan
            Assignee: Rakesh Radhakrishnan


Refresh pipeline info does a call to SCM and it can be moved outside the 
{{BUCKET_LOCK}}, this would help to improve the performance of read/write mix 
workloads.

*KeyManagerImpl.java*
{code:java}
    metadataManager.getLock().acquireReadLock(BUCKET_LOCK, volumeName,
        bucketName);
    try {
.....
.....
        // No need to check if a key is deleted or not here, this is handled
        // when adding entries to cacheKeyMap from DB.
        if (args.getRefreshPipeline()) {
          refreshPipeline(entry.getValue().getKeyInfo());
        }
.....
.....
    } finally {
      metadataManager.getLock().releaseReadLock(BUCKET_LOCK, volumeName,
          bucketName);
    }

{code}
 

Code Reference:  
[KeyManagerImpl.java#L2071|https://github.com/apache/hadoop-ozone/blob/master/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java#L2071]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to