[ 
https://issues.apache.org/jira/browse/HDFS-15196?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17071223#comment-17071223
 ] 

Hudson commented on HDFS-15196:
-------------------------------

SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #18104 (See 
[https://builds.apache.org/job/Hadoop-trunk-Commit/18104/])
HDFS-15196. RBF: RouterRpcServer getListing cannot list large dirs (inigoiri: 
rev 80b877a72f52ef0f4acafe15db55b8ed61fbe6d2)
* (edit) 
hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouterRpc.java
* (edit) 
hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/router/RouterClientProtocol.java
* (edit) 
hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/MockResolver.java


> RBF: RouterRpcServer getListing cannot list large dirs correctly
> ----------------------------------------------------------------
>
>                 Key: HDFS-15196
>                 URL: https://issues.apache.org/jira/browse/HDFS-15196
>             Project: Hadoop HDFS
>          Issue Type: Bug
>            Reporter: Fengnan Li
>            Assignee: Fengnan Li
>            Priority: Critical
>             Fix For: 3.4.0
>
>         Attachments: HDFS-15196.001.patch, HDFS-15196.002.patch, 
> HDFS-15196.003.patch, HDFS-15196.003.patch, HDFS-15196.004.patch, 
> HDFS-15196.005.patch, HDFS-15196.006.patch, HDFS-15196.007.patch, 
> HDFS-15196.008.patch, HDFS-15196.009.patch, HDFS-15196.010.patch, 
> HDFS-15196.011.patch, HDFS-15196.012.patch, HDFS-15196.013.patch, 
> HDFS-15196.014.patch
>
>
> In RouterRpcServer, getListing function is handled as two parts:
>  # Union all partial listings from destination ns + paths
>  # Append mount points for the dir to be listed
> In the case of large dir which is bigger than DFSConfigKeys.DFS_LIST_LIMIT 
> (with default value 1k), the batch listing will be used and the startAfter 
> will be used to define the boundary of each batch listing. However, step 2 
> here will add existing mount points, which will mess up with the boundary of 
> the batch, thus making the next batch startAfter wrong.
> The initial fix is just to append the mount points when there is no more 
> batch query necessary, but this will break the order of returned entries. 
> Therefore more complex logic is added to make sure the order is kept. At the 
> same time the remainingEntries variable inside DirectoryListing is also 
> updated to include the remaining mount points.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to