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]