Repository: hadoop
Updated Branches:
refs/heads/branch-2.6 a2d960b6d -> 867b29be9
HDFS-8581. ContentSummary on / skips further counts on yielding lock
(contributed by J.Andreina)
(cherry picked from commit 4014ce5990bff9b0ecb3d38a633d40eaf6cf07a7)
(cherry picked from commit 8854cdd9eefd05c10d0518528a3bff6a7348f37e)
Conflicts:
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/867b29be
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/867b29be
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/867b29be
Branch: refs/heads/branch-2.6
Commit: 867b29be9c5a2f01bfef3b4c361e5ed85d438660
Parents: a2d960b
Author: Kihwal Lee <[email protected]>
Authored: Tue Jun 14 08:31:00 2016 -0500
Committer: Kihwal Lee <[email protected]>
Committed: Tue Jun 14 08:31:00 2016 -0500
----------------------------------------------------------------------
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 ++
.../hdfs/server/namenode/INodeDirectory.java | 2 +-
.../java/org/apache/hadoop/hdfs/TestQuota.java | 31 ++++++++++++++++++++
3 files changed, 35 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/867b29be/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
index 84bdbf8..cc27d77 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
@@ -27,6 +27,9 @@ Release 2.6.5 - UNRELEASED
HDFS-10271. Extra bytes are getting released from reservedSpace for append
(Brahma Reddy Battula via vinayakumarb)
+ HDFS-8581. ContentSummary on / skips further counts on yielding lock
+ (J.Andreina via vinayakumarb)
+
Release 2.6.4 - 2016-02-11
INCOMPATIBLE CHANGES
http://git-wip-us.apache.org/repos/asf/hadoop/blob/867b29be/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeDirectory.java
----------------------------------------------------------------------
diff --git
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeDirectory.java
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeDirectory.java
index a753230..44e8f6f 100644
---
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeDirectory.java
+++
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeDirectory.java
@@ -638,7 +638,7 @@ public class INodeDirectory extends
INodeWithAdditionalFields
continue;
}
// The locks were released and reacquired. Check parent first.
- if (getParent() == null) {
+ if (!isRoot() && getParent() == null) {
// Stop further counting and return whatever we have so far.
break;
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/867b29be/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestQuota.java
----------------------------------------------------------------------
diff --git
a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestQuota.java
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestQuota.java
index 6e93a91..6fab668 100644
---
a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestQuota.java
+++
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestQuota.java
@@ -21,11 +21,13 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import java.io.IOException;
import java.io.OutputStream;
import java.security.PrivilegedExceptionAction;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.ContentSummary;
+import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hdfs.protocol.DSQuotaExceededException;
@@ -921,4 +923,33 @@ public class TestQuota {
cluster.shutdown();
}
}
+
+ /**
+ * File count on root , should return total value of files in Filesystem
+ * when one folder contains files more than "dfs.content-summary.limit".
+ */
+ @Test
+ public void testHugeFileCount() throws IOException {
+ MiniDFSCluster cluster = null;
+ Configuration conf = new Configuration();
+ conf.setInt("dfs.content-summary.limit", 4);
+ try {
+ cluster = new MiniDFSCluster.Builder(conf).numDataNodes(0).build();
+ DistributedFileSystem dfs = cluster.getFileSystem();
+ for (int i = 1; i <= 5; i++) {
+ FSDataOutputStream out =
+ dfs.create(new Path("/Folder1/" + "file" + i),(short)1);
+ out.close();
+ }
+ FSDataOutputStream out = dfs.create(new Path("/Folder2/file6"),(short)1);
+ out.close();
+ ContentSummary contentSummary = dfs.getContentSummary(new Path("/"));
+ assertEquals(6, contentSummary.getFileCount());
+ } finally {
+ if (cluster != null) {
+ cluster.shutdown();
+ cluster = null;
+ }
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]