Return-Path: X-Original-To: apmail-hadoop-common-commits-archive@www.apache.org Delivered-To: apmail-hadoop-common-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 91C3918FBD for ; Tue, 21 Jul 2015 21:02:37 +0000 (UTC) Received: (qmail 46695 invoked by uid 500); 21 Jul 2015 21:02:21 -0000 Delivered-To: apmail-hadoop-common-commits-archive@hadoop.apache.org Received: (qmail 46497 invoked by uid 500); 21 Jul 2015 21:02:21 -0000 Mailing-List: contact common-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: common-dev@hadoop.apache.org Delivered-To: mailing list common-commits@hadoop.apache.org Received: (qmail 46368 invoked by uid 99); 21 Jul 2015 21:02:21 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Jul 2015 21:02:21 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 3CFB0E08E0; Tue, 21 Jul 2015 21:02:21 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: cnauroth@apache.org To: common-commits@hadoop.apache.org Date: Tue, 21 Jul 2015 21:02:22 -0000 Message-Id: <215633859d6a4dd6ad97abd21fecb1a4@git.apache.org> In-Reply-To: <0d3a74701f9c4914949292534faa921f@git.apache.org> References: <0d3a74701f9c4914949292534faa921f@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [2/2] hadoop git commit: HDFS-8721. Add a metric for number of encryption zones. Contributed by Rakesh R. HDFS-8721. Add a metric for number of encryption zones. Contributed by Rakesh R. (cherry picked from commit cb03768b1b2250b9b5a7944cf6ef918e8a974e20) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/57d55d40 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/57d55d40 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/57d55d40 Branch: refs/heads/branch-2 Commit: 57d55d40dd41ba4449b91c4676131b6b840052c4 Parents: b728edc Author: cnauroth Authored: Tue Jul 21 13:55:58 2015 -0700 Committer: cnauroth Committed: Tue Jul 21 13:56:07 2015 -0700 ---------------------------------------------------------------------- .../hadoop-common/src/site/markdown/Metrics.md | 1 + hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++ .../hadoop/hdfs/server/namenode/EncryptionZoneManager.java | 7 +++++++ .../org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java | 6 ++++++ .../hdfs/server/namenode/metrics/FSNamesystemMBean.java | 5 +++++ .../test/java/org/apache/hadoop/hdfs/TestEncryptionZones.java | 6 ++++++ .../hadoop/hdfs/server/namenode/TestFSNamesystemMBean.java | 5 +++++ 7 files changed, 33 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/57d55d40/hadoop-common-project/hadoop-common/src/site/markdown/Metrics.md ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/site/markdown/Metrics.md b/hadoop-common-project/hadoop-common/src/site/markdown/Metrics.md index 14631f5..5d3e5b0 100644 --- a/hadoop-common-project/hadoop-common/src/site/markdown/Metrics.md +++ b/hadoop-common-project/hadoop-common/src/site/markdown/Metrics.md @@ -215,6 +215,7 @@ Each metrics record contains tags such as HAState and Hostname as additional inf | `TotalLoad` | Current number of connections | | `SnapshottableDirectories` | Current number of snapshottable directories | | `Snapshots` | Current number of snapshots | +| `NumEncryptionZones` | Current number of encryption zones | | `BlocksTotal` | Current number of allocated blocks in the system | | `FilesTotal` | Current number of files and directories | | `PendingReplicationBlocks` | Current number of blocks pending to be replicated | http://git-wip-us.apache.org/repos/asf/hadoop/blob/57d55d40/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 1cb74ee..6a9a4de 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -391,6 +391,9 @@ Release 2.8.0 - UNRELEASED HDFS-7483. Display information per tier on the Namenode UI. (Benoy Antony and wheat9 via wheat9) + HDFS-8721. Add a metric for number of encryption zones. + (Rakesh R via cnauroth) + OPTIMIZATIONS HDFS-8026. Trace FSOutputSummer#writeChecksumChunks rather than http://git-wip-us.apache.org/repos/asf/hadoop/blob/57d55d40/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/EncryptionZoneManager.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/EncryptionZoneManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/EncryptionZoneManager.java index 3fe748d..7c3c895 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/EncryptionZoneManager.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/EncryptionZoneManager.java @@ -360,4 +360,11 @@ public class EncryptionZoneManager { final boolean hasMore = (numResponses < tailMap.size()); return new BatchedListEntries(zones, hasMore); } + + /** + * @return number of encryption zones. + */ + public int getNumEncryptionZones() { + return encryptionZones.size(); + } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/57d55d40/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 a1bbedd..2777208 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 @@ -4072,6 +4072,12 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean, return JSON.toString(info); } + @Override // FSNamesystemMBean + @Metric({ "NumEncryptionZones", "The number of encryption zones" }) + public int getNumEncryptionZones() { + return dir.ezManager.getNumEncryptionZones(); + } + int getNumberOfDatanodes(DatanodeReportType type) { readLock(); try { http://git-wip-us.apache.org/repos/asf/hadoop/blob/57d55d40/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/metrics/FSNamesystemMBean.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/metrics/FSNamesystemMBean.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/metrics/FSNamesystemMBean.java index b31b7b6..580cb78 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/metrics/FSNamesystemMBean.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/metrics/FSNamesystemMBean.java @@ -184,4 +184,9 @@ public interface FSNamesystemMBean { * @return JSON string */ public String getTopUserOpCounts(); + + /** + * Return the number of encryption zones in the system. + */ + int getNumEncryptionZones(); } http://git-wip-us.apache.org/repos/asf/hadoop/blob/57d55d40/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestEncryptionZones.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestEncryptionZones.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestEncryptionZones.java index e0bd6f4..567a70a 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestEncryptionZones.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestEncryptionZones.java @@ -97,6 +97,8 @@ import static org.mockito.Mockito.any; import static org.mockito.Mockito.anyString; import static org.apache.hadoop.hdfs.DFSTestUtil.verifyFilesEqual; import static org.apache.hadoop.test.GenericTestUtils.assertExceptionContains; +import static org.apache.hadoop.test.MetricsAsserts.assertGauge; +import static org.apache.hadoop.test.MetricsAsserts.getMetrics; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotEquals; @@ -120,6 +122,7 @@ public class TestEncryptionZones { protected DistributedFileSystem fs; private File testRootDir; protected final String TEST_KEY = "test_key"; + private static final String NS_METRICS = "FSNamesystem"; protected FileSystemTestWrapper fsWrapper; protected FileContextTestWrapper fcWrapper; @@ -358,6 +361,9 @@ public class TestEncryptionZones { fs.setSafeMode(SafeModeAction.SAFEMODE_LEAVE); cluster.restartNameNode(true); assertNumZones(numZones); + assertEquals("Unexpected number of encryption zones!", numZones, cluster + .getNamesystem().getNumEncryptionZones()); + assertGauge("NumEncryptionZones", numZones, getMetrics(NS_METRICS)); assertZonePresent(null, zone1.toString()); // Verify newly added ez is present after restarting the NameNode http://git-wip-us.apache.org/repos/asf/hadoop/blob/57d55d40/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSNamesystemMBean.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSNamesystemMBean.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSNamesystemMBean.java index c044fb0..fb3179a 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSNamesystemMBean.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSNamesystemMBean.java @@ -117,6 +117,11 @@ public class TestFSNamesystemMBean { "PendingDeletionBlocks"); assertNotNull(pendingDeletionBlocks); assertTrue(pendingDeletionBlocks instanceof Long); + + Object encryptionZones = mbs.getAttribute(mxbeanName, + "NumEncryptionZones"); + assertNotNull(encryptionZones); + assertTrue(encryptionZones instanceof Integer); } finally { if (cluster != null) { cluster.shutdown();