diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/FSLimitException.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/FSLimitException.java index 2ee11f0c378..347d8923d31 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/FSLimitException.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/FSLimitException.java @@ -87,8 +87,10 @@ protected MaxDirectoryItemsExceededException(String msg) { super(msg); } - public MaxDirectoryItemsExceededException(long quota, long count) { + public MaxDirectoryItemsExceededException(String path, long quota, + long count) { super(quota, count); + setPathName(path); } @Override diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java index 9ce244c1583..21483689201 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java @@ -1004,9 +1004,9 @@ void verifyMaxDirItems(INodeDirectory parent, String parentPath) final int count = parent.getChildrenList(CURRENT_STATE_ID).size(); if (count >= maxDirItems) { final MaxDirectoryItemsExceededException e - = new MaxDirectoryItemsExceededException(maxDirItems, count); + = new MaxDirectoryItemsExceededException(parentPath, maxDirItems, + count); if (namesystem.isImageLoaded()) { - e.setPathName(parentPath); throw e; } else { // Do not throw if edits log is still being processed