[
https://issues.apache.org/jira/browse/HDDS-3824?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17139473#comment-17139473
]
Mukul Kumar Singh commented on HDDS-3824:
-----------------------------------------
This also affects other read APIs as well like listKyes, lookupFile and
lookupKey API as well.
> 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
> Priority: Major
> Labels: om-perf
>
> 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]