You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Aravindan Vijayan (Jira)" <ji...@apache.org> on 2019/10/03 22:01:00 UTC
[jira] [Comment Edited] (HDDS-2241) Optimize the refresh pipeline
logic used by KeyManagerImpl to obtain the pipelines for a key
[ https://issues.apache.org/jira/browse/HDDS-2241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16944053#comment-16944053 ]
Aravindan Vijayan edited comment on HDDS-2241 at 10/3/19 10:00 PM:
-------------------------------------------------------------------
[~aengineer] This was not based on data we have seen in read performance tests. This is just an observation based on looking through the code while working on HDDS-2188 along with [~msingh].
Even if this does not show up as a bottleneck at this point of time, IMHO the 2nd option looks like an obvious performance improvement that we should do.
was (Author: avijayan):
[~aengineer] This was not based on data we have seen in read performance tests. This is just an observation based on looking through the code while working on HDDS-2188 along with [~msingh].
> Optimize the refresh pipeline logic used by KeyManagerImpl to obtain the pipelines for a key
> --------------------------------------------------------------------------------------------
>
> Key: HDDS-2241
> URL: https://issues.apache.org/jira/browse/HDDS-2241
> Project: Hadoop Distributed Data Store
> Issue Type: Bug
> Components: Ozone Manager
> Reporter: Aravindan Vijayan
> Assignee: Aravindan Vijayan
> Priority: Major
>
> Currently, while looking up a key, the Ozone Manager gets the pipeline information from SCM through an RPC for every block in the key. For large files > 1GB, we may end up making a lot of RPC calls for this. This can be optimized in a couple of ways
> * We can implement a batch getContainerWithPipeline API in SCM using which we can get the pipeline info locations for all the blocks for a file. To keep the number of containers passed in to SCM in a single call, we can have a fixed container batch size on the OM side. _Here, Number of calls = 1 (or k depending on batch size)_
> * Instead, a simpler change would be to have a map (method local) of ContainerID -> Pipeline that we get from SCM so that we don't need to make repeated calls to SCM for the same containerID for a key. _Here, Number of calls = Number of unique containerIDs_
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org