You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by fe...@apache.org on 2021/05/20 03:24:18 UTC

[hadoop] branch trunk updated: HDFS-16018. Optimize the display of hdfs "count -e" or "count -t" com… (#2994)

This is an automated email from the ASF dual-hosted git repository.

ferhui pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git


The following commit(s) were added to refs/heads/trunk by this push:
     new f724792  HDFS-16018. Optimize the display of hdfs "count -e" or "count -t" com… (#2994)
f724792 is described below

commit f7247922b7fd827489011aeff0a0d8dea7027b83
Author: Hongbing Wang <28...@qq.com>
AuthorDate: Thu May 20 11:23:54 2021 +0800

    HDFS-16018. Optimize the display of hdfs "count -e" or "count -t" com… (#2994)
---
 .../java/org/apache/hadoop/fs/ContentSummary.java  | 25 +++++++++++++++++++
 .../main/java/org/apache/hadoop/fs/QuotaUsage.java | 12 +++++----
 .../java/org/apache/hadoop/fs/shell/Count.java     | 12 +++------
 .../java/org/apache/hadoop/fs/shell/TestCount.java | 29 +++++++++++-----------
 4 files changed, 50 insertions(+), 28 deletions(-)

diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/ContentSummary.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/ContentSummary.java
index 20e205a..80a6c0c 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/ContentSummary.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/ContentSummary.java
@@ -282,6 +282,20 @@ public class ContentSummary extends QuotaUsage implements Writable{
   private static final String ALL_HEADER = QUOTA_HEADER + SUMMARY_HEADER;
 
   /**
+   * Output format:
+   * <--------20-------->
+   * ERASURECODING_POLICY
+   */
+  private static final String ERASURECODING_POLICY_FORMAT = "%20s ";
+
+  private static final String ERASURECODING_POLICY_HEADER_FIELD =
+      "ERASURECODING_POLICY";
+
+  /** The header string. */
+  private static final String ERASURECODING_POLICY_HEADER = String.format(
+      ERASURECODING_POLICY_FORMAT, ERASURECODING_POLICY_HEADER_FIELD);
+
+  /**
    * Output format:<-------18-------> <----------24---------->
    * <----------24---------->. <-------------28------------> SNAPSHOT_LENGTH
    * SNAPSHOT_FILE_COUNT SNAPSHOT_DIR_COUNT SNAPSHOT_SPACE_CONSUMED
@@ -308,6 +322,10 @@ public class ContentSummary extends QuotaUsage implements Writable{
     return qOption ? ALL_HEADER : SUMMARY_HEADER;
   }
 
+  public static String getErasureCodingPolicyHeader() {
+    return ERASURECODING_POLICY_HEADER;
+  }
+
   public static String getSnapshotHeader() {
     return SNAPSHOT_HEADER;
   }
@@ -445,6 +463,13 @@ public class ContentSummary extends QuotaUsage implements Writable{
   }
 
   /**
+   * @return Constant-width String representation of Erasure Coding Policy
+   */
+  public String toErasureCodingPolicy() {
+    return String.format(ERASURECODING_POLICY_FORMAT, erasureCodingPolicy);
+  }
+
+  /**
    * Return the string representation of the snapshot counts in the output
    * format.
    * @param hOption flag indicating human readable or not
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/QuotaUsage.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/QuotaUsage.java
index 11cc934..b00a318 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/QuotaUsage.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/QuotaUsage.java
@@ -242,12 +242,14 @@ public class QuotaUsage {
 
   /**
    * Output format:
-   * |----12----| |------15-----| |------15-----| |------15-----|
-   *        QUOTA       REM_QUOTA     SPACE_QUOTA REM_SPACE_QUOTA
-   * |----12----| |----12----| |-------18-------|
-   *    DIR_COUNT   FILE_COUNT       CONTENT_SIZE
+   * |-----14-----| |-------18------| |-----14-----| |-------18------|
+   *      SSD_QUOTA     REM_SSD_QUOTA     DISK_QUOTA    REM_DISK_QUOTA
+   * |-----14-----| |-------18------| |-----14-----| |-------18------|
+   *  ARCHIVE_QUOTA REM_ARCHIVE_QUOTA PROVIDED_QUOTA REM_PROVIDED_QUOTA
+   * |-----14-----| |-------18------| |-------18------|
+   *   NVDIMM_QUOTA  REM_NVDIMM_QUOTA PATHNAME
    */
-  private static final String STORAGE_TYPE_SUMMARY_FORMAT = "%13s %17s ";
+  private static final String STORAGE_TYPE_SUMMARY_FORMAT = "%14s %18s ";
 
   /** Return the header of the output.
    * @return the header of the output
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Count.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Count.java
index cb3858d..bd7be22 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Count.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Count.java
@@ -166,8 +166,8 @@ public class Count extends FsCommand {
           headString.append(ContentSummary.getHeader(showQuotas));
         }
       }
-      if(displayECPolicy){
-        headString.append("ERASURECODING_POLICY ");
+      if (displayECPolicy) {
+        headString.append(ContentSummary.getErasureCodingPolicyHeader());
       }
       if (showSnapshot) {
         headString.append(ContentSummary.getSnapshotHeader());
@@ -204,13 +204,9 @@ public class Count extends FsCommand {
       outputString.append(summary.toString(
           showQuotas, isHumanReadable(), excludeSnapshots));
     }
-    if(displayECPolicy){
+    if (displayECPolicy) {
       ContentSummary summary = src.fs.getContentSummary(src.path);
-      if(!summary.getErasureCodingPolicy().equals("Replicated")){
-        outputString.append("EC:");
-      }
-      outputString.append(summary.getErasureCodingPolicy())
-          .append(" ");
+      outputString.append(summary.toErasureCodingPolicy());
     }
     if (showSnapshot) {
       ContentSummary summary = src.fs.getContentSummary(src.path);
diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/shell/TestCount.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/shell/TestCount.java
index 19516b8..c86a4c8 100644
--- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/shell/TestCount.java
+++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/shell/TestCount.java
@@ -282,11 +282,10 @@ public class TestCount {
     options.add("dummy");
     count.processOptions(options);
     String withStorageTypeHeader =
-        // <----13---> <-------17------> <----13-----> <------17------->
-        "    SSD_QUOTA     REM_SSD_QUOTA    DISK_QUOTA    REM_DISK_QUOTA " +
-        // <----13---> <-------17------>
-        "ARCHIVE_QUOTA REM_ARCHIVE_QUOTA PROVIDED_QUOTA REM_PROVIDED_QUOTA " +
-        " NVDIMM_QUOTA  REM_NVDIMM_QUOTA " +
+        // <----14----> <-------18-------> <-----14-----> <-------18------->
+        "     SSD_QUOTA      REM_SSD_QUOTA     DISK_QUOTA     REM_DISK_QUOTA " +
+        " ARCHIVE_QUOTA  REM_ARCHIVE_QUOTA PROVIDED_QUOTA REM_PROVIDED_QUOTA " +
+        "  NVDIMM_QUOTA   REM_NVDIMM_QUOTA " +
         "PATHNAME";
     verify(out).println(withStorageTypeHeader);
     verifyNoMoreInteractions(out);
@@ -311,8 +310,8 @@ public class TestCount {
     options.add("dummy");
     count.processOptions(options);
     String withStorageTypeHeader =
-        // <----13---> <-------17------>
-        "    SSD_QUOTA     REM_SSD_QUOTA " +
+        // <----14----> <-------18------->
+        "     SSD_QUOTA      REM_SSD_QUOTA " +
         "PATHNAME";
     verify(out).println(withStorageTypeHeader);
     verifyNoMoreInteractions(out);
@@ -337,12 +336,12 @@ public class TestCount {
     options.add("dummy");
     count.processOptions(options);
     String withStorageTypeHeader =
-        // <----13---> <-------17------>
-        "    SSD_QUOTA     REM_SSD_QUOTA " +
-        "   DISK_QUOTA    REM_DISK_QUOTA " +
-        "ARCHIVE_QUOTA REM_ARCHIVE_QUOTA " +
+        // <----14----> <-------18------->
+        "     SSD_QUOTA      REM_SSD_QUOTA " +
+        "    DISK_QUOTA     REM_DISK_QUOTA " +
+        " ARCHIVE_QUOTA  REM_ARCHIVE_QUOTA " +
         "PROVIDED_QUOTA REM_PROVIDED_QUOTA " +
-        " NVDIMM_QUOTA  REM_NVDIMM_QUOTA " +
+        "  NVDIMM_QUOTA   REM_NVDIMM_QUOTA " +
         "PATHNAME";
     verify(out).println(withStorageTypeHeader);
     verifyNoMoreInteractions(out);
@@ -405,9 +404,9 @@ public class TestCount {
     options.add("dummy");
     count.processOptions(options);
     String withStorageTypeHeader =
-        // <----13---> <------17------->
-        "    SSD_QUOTA     REM_SSD_QUOTA " +
-        "   DISK_QUOTA    REM_DISK_QUOTA " +
+        // <----14----> <------18-------->
+        "     SSD_QUOTA      REM_SSD_QUOTA " +
+        "    DISK_QUOTA     REM_DISK_QUOTA " +
         "PATHNAME";
     verify(out).println(withStorageTypeHeader);
     verifyNoMoreInteractions(out);

---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org