[
https://issues.apache.org/jira/browse/HDFS-8578?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14619925#comment-14619925
]
Raju Bairishetti commented on HDFS-8578:
----------------------------------------
bq. Sequential processing of volumes in prod clusters \\ |Cluster || number
of blocks/links|| Upgrade time || Disk health|| \\ |testCluster1
|296472 |20 mins | good | \\ ....
Posted these metrics as we are seeing huge difference in processing times of
volumes across clusters. *These metrics are not related to patch as the above
benchmarking was done without patch*.
bq. *performance metrics with the patch:* \\ ||Node ||Number of blocks or
links ||Single volume time total time for processing all volumes
||Processing mechanism|| \\ |node1 |1.326278 million |75 secs
|75 secs | parallel | \\ |node2 |1.325818 million |60 secs
|342 secs |sequential
Datanode is expecting higher heap memory(Xmx) to process volumes in parallel.
[~vinayrpet] Can we introduce a new config which will tell how many number of
volumes can be processed in parallel (i.e. thread pool size)? If the config
value is one then it processes all the volumes in sequential.
> On upgrade, Datanode should process all storage/data dirs in parallel
> ---------------------------------------------------------------------
>
> Key: HDFS-8578
> URL: https://issues.apache.org/jira/browse/HDFS-8578
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: datanode
> Reporter: Raju Bairishetti
> Priority: Critical
> Attachments: HDFS-8578-01.patch, HDFS-8578-02.patch,
> HDFS-8578-branch-2.6.0.patch
>
>
> Right now, during upgrades datanode is processing all the storage dirs
> sequentially. Assume it takes ~20 mins to process a single storage dir then
> datanode which has ~10 disks will take around 3hours to come up.
> *BlockPoolSliceStorage.java*
> {code}
> for (int idx = 0; idx < getNumStorageDirs(); idx++) {
> doTransition(datanode, getStorageDir(idx), nsInfo, startOpt);
> assert getCTime() == nsInfo.getCTime()
> : "Data-node and name-node CTimes must be the same.";
> }
> {code}
> It would save lots of time during major upgrades if datanode process all
> storagedirs/disks parallelly.
> Can we make datanode to process all storage dirs parallelly?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)