You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2017/12/27 01:42:04 UTC

[02/17] hbase git commit: HBASE-19496 (addendum) don't store the duplicate cp names in ServerMetrics

HBASE-19496 (addendum) don't store the duplicate cp names in ServerMetrics


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/5a561e08
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/5a561e08
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/5a561e08

Branch: refs/heads/HBASE-19397
Commit: 5a561e0882313fae5376e8d6b77f26d9f5efe7c6
Parents: 80c7e4e
Author: Chia-Ping Tsai <ch...@gmail.com>
Authored: Tue Dec 26 20:53:02 2017 +0800
Committer: Chia-Ping Tsai <ch...@gmail.com>
Committed: Wed Dec 27 07:05:16 2017 +0800

----------------------------------------------------------------------
 .../java/org/apache/hadoop/hbase/ServerLoad.java   |  3 ++-
 .../org/apache/hadoop/hbase/ServerMetrics.java     |  5 +++--
 .../apache/hadoop/hbase/ServerMetricsBuilder.java  | 17 ++++++++++-------
 .../coprocessor/TestCoprocessorTableEndpoint.java  |  2 +-
 4 files changed, 16 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/5a561e08/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerLoad.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerLoad.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerLoad.java
index 2a56e57..7509a85 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerLoad.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerLoad.java
@@ -23,6 +23,7 @@ package org.apache.hadoop.hbase;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.TreeMap;
 import java.util.stream.Collectors;
 import org.apache.hadoop.hbase.replication.ReplicationLoadSink;
@@ -403,7 +404,7 @@ public class ServerLoad implements ServerMetrics {
   }
 
   @Override
-  public List<String> getCoprocessorNames() {
+  public Set<String> getCoprocessorNames() {
     return metrics.getCoprocessorNames();
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/5a561e08/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetrics.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetrics.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetrics.java
index 1ef3126..f33e978 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetrics.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetrics.java
@@ -20,6 +20,7 @@ package org.apache.hadoop.hbase;
 import edu.umd.cs.findbugs.annotations.Nullable;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import org.apache.hadoop.hbase.replication.ReplicationLoadSink;
 import org.apache.hadoop.hbase.replication.ReplicationLoadSource;
 import org.apache.yetus.audience.InterfaceAudience;
@@ -73,9 +74,9 @@ public interface ServerMetrics {
 
   /**
    * Return the RegionServer-level and Region-level coprocessors
-   * @return string list of loaded RegionServer-level and Region-level coprocessors
+   * @return string set of loaded RegionServer-level and Region-level coprocessors
    */
-  List<String> getCoprocessorNames();
+  Set<String> getCoprocessorNames();
 
   /**
    * @return the timestamp (server side) of generating this metrics

http://git-wip-us.apache.org/repos/asf/hbase/blob/5a561e08/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetricsBuilder.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetricsBuilder.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetricsBuilder.java
index e501c43..2d71f80 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetricsBuilder.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetricsBuilder.java
@@ -18,10 +18,13 @@
 package org.apache.hadoop.hbase;
 
 import edu.umd.cs.findbugs.annotations.Nullable;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.TreeMap;
+import java.util.TreeSet;
 import java.util.stream.Collectors;
 import org.apache.hadoop.hbase.replication.ReplicationLoadSink;
 import org.apache.hadoop.hbase.replication.ReplicationLoadSource;
@@ -73,7 +76,7 @@ public final class ServerMetricsBuilder {
         .build();
   }
 
-  public static List<HBaseProtos.Coprocessor> toCoprocessor(List<String> names) {
+  public static List<HBaseProtos.Coprocessor> toCoprocessor(Collection<String> names) {
     return names.stream()
         .map(n -> HBaseProtos.Coprocessor.newBuilder().setName(n).build())
         .collect(Collectors.toList());
@@ -116,7 +119,7 @@ public final class ServerMetricsBuilder {
   @Nullable
   private ReplicationLoadSink sink = null;
   private final Map<byte[], RegionMetrics> regionStatus = new TreeMap<>(Bytes.BYTES_COMPARATOR);
-  private List<String> coprocessorNames = Collections.emptyList();
+  private final Set<String> coprocessorNames = new TreeSet<>();
   private long reportTimestamp = System.currentTimeMillis();
   private long lastReportTimestamp = 0;
   private ServerMetricsBuilder(ServerName serverName) {
@@ -164,7 +167,7 @@ public final class ServerMetricsBuilder {
   }
 
   public ServerMetricsBuilder setCoprocessorNames(List<String> value) {
-    this.coprocessorNames = value;
+    coprocessorNames.addAll(value);
     return this;
   }
 
@@ -205,14 +208,14 @@ public final class ServerMetricsBuilder {
     @Nullable
     private final ReplicationLoadSink sink;
     private final Map<byte[], RegionMetrics> regionStatus;
-    private final List<String> coprocessorNames;
+    private final Set<String> coprocessorNames;
     private final long reportTimestamp;
     private final long lastReportTimestamp;
 
     ServerMetricsImpl(ServerName serverName, long requestCountPerSecond, long requestCount,
       Size usedHeapSize, Size maxHeapSize, int infoServerPort, List<ReplicationLoadSource> sources,
       ReplicationLoadSink sink, Map<byte[], RegionMetrics> regionStatus,
-      List<String> coprocessorNames, long reportTimestamp, long lastReportTimestamp) {
+      Set<String> coprocessorNames, long reportTimestamp, long lastReportTimestamp) {
       this.serverName = Preconditions.checkNotNull(serverName);
       this.requestCountPerSecond = requestCountPerSecond;
       this.requestCount = requestCount;
@@ -272,8 +275,8 @@ public final class ServerMetricsBuilder {
     }
 
     @Override
-    public List<String> getCoprocessorNames() {
-      return Collections.unmodifiableList(coprocessorNames);
+    public Set<String> getCoprocessorNames() {
+      return Collections.unmodifiableSet(coprocessorNames);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/hbase/blob/5a561e08/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorTableEndpoint.java
----------------------------------------------------------------------
diff --git a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorTableEndpoint.java b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorTableEndpoint.java
index 0783131..cd022de 100644
--- a/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorTableEndpoint.java
+++ b/hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorTableEndpoint.java
@@ -73,7 +73,7 @@ public class TestCoprocessorTableEndpoint {
   }
 
   @Test
-  public void testCoprocessorTableEndpoint() throws Throwable {    
+  public void testCoprocessorTableEndpoint() throws Throwable {
     final TableName tableName = TableName.valueOf(name.getMethodName());
 
     HTableDescriptor desc = new HTableDescriptor(tableName);