[ 
https://issues.apache.org/jira/browse/HDFS-17147?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yuanbo Liu updated HDFS-17147:
------------------------------
    Description: 
Suppose we mount table as below:

 
{code:java}
/dir -> ns0 ->  /target/dir
/dir/child1 -> ns0 -> /target/dir/child1
/dir/child2 -> ns0 -> /target/dir/child2
......
/dir/child200 -> ns0 -> /target/dir/child200
{code}
 

 

when listing /dir with RBF, it's getting extremely slow as getListing has two 
parts:
1. list all children of  /target/dir

2. append the rest 200 mount points to the result.

 

The second part invoke getFileInfo concurrently to make sure mount points are 
accessed under rightful permission. But in this case, the first part includes 
the result of the second part, and there is no need to append second part 
repeatly.

 

 

 

 

 

 

  was:
Suppose we mount table as below:

/dir -> ns0 ->  /target/dir

/dir/child1 -> ns0 -> /target/dir/child1

/dir/child2 -> ns0 -> /target/dir/child2

......

/dir/child200 -> ns0 -> /target/dir/child200

 

when listing /dir with RBF, it's getting extremely slow as getListing has two 
parts:
1. list all children of  /target/dir

2. append the rest 200 mount points to the result.

 

The second part invoke getFileInfo concurrently to make sure mount points are 
accessed under rightful permission. But in this case, the first part includes 
the result of the second part, and there is no need to append second part 
repeatly.

 

 

 

 

 

 


> RBF: RouterRpcServer getListing become extremely slow when the children of 
> the dir are mounted in the same ns.
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-17147
>                 URL: https://issues.apache.org/jira/browse/HDFS-17147
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: rbf
>            Reporter: Yuanbo Liu
>            Priority: Major
>
> Suppose we mount table as below:
>  
> {code:java}
> /dir -> ns0 ->  /target/dir
> /dir/child1 -> ns0 -> /target/dir/child1
> /dir/child2 -> ns0 -> /target/dir/child2
> ......
> /dir/child200 -> ns0 -> /target/dir/child200
> {code}
>  
>  
> when listing /dir with RBF, it's getting extremely slow as getListing has two 
> parts:
> 1. list all children of  /target/dir
> 2. append the rest 200 mount points to the result.
>  
> The second part invoke getFileInfo concurrently to make sure mount points are 
> accessed under rightful permission. But in this case, the first part includes 
> the result of the second part, and there is no need to append second part 
> repeatly.
>  
>  
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to