Repository: hadoop Updated Branches: refs/heads/trunk 855d52927 -> 02653add9
HDFS-9413. getContentSummary() on standby should throw StandbyException. (Brahma Reddy Battula via mingma) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/02653add Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/02653add Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/02653add Branch: refs/heads/trunk Commit: 02653add98f34deedc27f4da2254d25e83e55b58 Parents: 855d529 Author: Ming Ma <min...@apache.org> Authored: Mon Nov 16 09:32:40 2015 -0800 Committer: Ming Ma <min...@apache.org> Committed: Mon Nov 16 09:32:40 2015 -0800 ---------------------------------------------------------------------- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++ .../hadoop/hdfs/server/namenode/FSNamesystem.java | 2 ++ .../hdfs/server/namenode/ha/TestQuotasWithHA.java | 15 +++++++++++++++ 3 files changed, 20 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/02653add/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 c91522b..8285a99 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -2302,6 +2302,9 @@ Release 2.8.0 - UNRELEASED HDFS-9410. Some tests should always reset sysout and syserr. (Xiao Chen via waltersu4549) + HDFS-9413. getContentSummary() on standby should throw StandbyException. + (Brahma Reddy Battula via mingma) + Release 2.7.3 - UNRELEASED INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/02653add/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java index 316b7de..e86ff96 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java @@ -2948,9 +2948,11 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean, * or null if file not found */ ContentSummary getContentSummary(final String src) throws IOException { + checkOperation(OperationCategory.READ); readLock(); boolean success = true; try { + checkOperation(OperationCategory.READ); return FSDirStatAndListingOp.getContentSummary(dir, src); } catch (AccessControlException ace) { success = false; http://git-wip-us.apache.org/repos/asf/hadoop/blob/02653add/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestQuotasWithHA.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestQuotasWithHA.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestQuotasWithHA.java index 6ceecc7..db67d95 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestQuotasWithHA.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestQuotasWithHA.java @@ -17,6 +17,7 @@ */ package org.apache.hadoop.hdfs.server.namenode.ha; + import static org.junit.Assert.assertEquals; import java.io.IOException; @@ -34,6 +35,7 @@ import org.apache.hadoop.hdfs.MiniDFSCluster; import org.apache.hadoop.hdfs.MiniDFSNNTopology; import org.apache.hadoop.hdfs.server.namenode.NameNode; import org.apache.hadoop.io.IOUtils; +import org.apache.hadoop.ipc.StandbyException; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -130,4 +132,17 @@ public class TestQuotasWithHA { assertEquals(1, cs.getDirectoryCount()); assertEquals(0, cs.getFileCount()); } + + /** + * Test that getContentSummary on Standby should should throw standby + * exception. + */ + @Test(expected = StandbyException.class) + public void testgetContentSummaryOnStandby() throws Exception { + Configuration nn1conf =cluster.getConfiguration(1); + // just reset the standby reads to default i.e False on standby. + HAUtil.setAllowStandbyReads(nn1conf, false); + cluster.restartNameNode(1); + cluster.getNameNodeRpc(1).getContentSummary("/"); + } }