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

zghao pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2.1 by this push:
     new 2449d9c  HBASE-22673 Avoid to expose protobuf stuff in Hbck interface
2449d9c is described below

commit 2449d9c05d92767b3bcc4e98d38b323a85db949c
Author: Guanghao <[email protected]>
AuthorDate: Fri Jul 19 08:03:06 2019 +0800

    HBASE-22673 Avoid to expose protobuf stuff in Hbck interface
    
    Signed-off-by: stack <[email protected]>
    Signed-off-by: Duo Zhang <[email protected]>
---
 .../java/org/apache/hadoop/hbase/client/HBaseHbck.java |  4 ++--
 .../main/java/org/apache/hadoop/hbase/client/Hbck.java | 18 ++++++++++++++++--
 .../hadoop/hbase/shaded/protobuf/RequestConverter.java |  7 ++++---
 3 files changed, 22 insertions(+), 7 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseHbck.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseHbck.java
index a276017..2fd6466 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseHbck.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseHbck.java
@@ -23,10 +23,10 @@ import java.util.concurrent.Callable;
 import java.util.stream.Collectors;
 
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.ipc.RpcControllerFactory;
 import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
 import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;
-import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;
 import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos;
 import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableStateResponse;
 import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.HbckService.BlockingInterface;
@@ -157,7 +157,7 @@ public class HBaseHbck implements Hbck {
   }
 
   @Override
-  public List<Long> scheduleServerCrashProcedure(List<HBaseProtos.ServerName> 
serverNames)
+  public List<Long> scheduleServerCrashProcedures(List<ServerName> serverNames)
       throws IOException {
     try {
       MasterProtos.ScheduleServerCrashProcedureResponse response =
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Hbck.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Hbck.java
index e88805c..2e33db0 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Hbck.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Hbck.java
@@ -20,11 +20,15 @@ package org.apache.hadoop.hbase.client;
 import java.io.Closeable;
 import java.io.IOException;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 import org.apache.hadoop.hbase.Abortable;
 import org.apache.hadoop.hbase.HBaseInterfaceAudience;
+import org.apache.hadoop.hbase.ServerName;
 import org.apache.yetus.audience.InterfaceAudience;
 
+import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
 import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;
 
 /**
@@ -104,6 +108,16 @@ public interface Hbck extends Abortable, Closeable {
   List<Boolean> bypassProcedure(List<Long> pids, long waitTime, boolean 
override, boolean recursive)
       throws IOException;
 
-  List<Long> scheduleServerCrashProcedure(List<HBaseProtos.ServerName> 
serverNames)
-      throws IOException;
+  /**
+   * Use {@link #scheduleServerCrashProcedures(List)} instead.
+   * @deprecated since 2.2.1. Will removed in 3.0.0.
+   */
+  @Deprecated
+  default List<Long> scheduleServerCrashProcedure(List<HBaseProtos.ServerName> 
serverNames)
+      throws IOException {
+    return scheduleServerCrashProcedures(
+        
serverNames.stream().map(ProtobufUtil::toServerName).collect(Collectors.toList()));
+  }
+
+  List<Long> scheduleServerCrashProcedures(List<ServerName> serverNames) 
throws IOException;
 }
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
index a4bf899..64f4446 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java
@@ -1898,10 +1898,11 @@ public final class RequestConverter {
   }
 
   public static MasterProtos.ScheduleServerCrashProcedureRequest
-      toScheduleServerCrashProcedureRequest(List<HBaseProtos.ServerName> 
serverNames) {
-    MasterProtos.ScheduleServerCrashProcedureRequest.Builder b =
+      toScheduleServerCrashProcedureRequest(List<ServerName> serverNames) {
+    MasterProtos.ScheduleServerCrashProcedureRequest.Builder builder =
         MasterProtos.ScheduleServerCrashProcedureRequest.newBuilder();
-    return b.addAllServerName(serverNames).build();
+    serverNames.stream().map(ProtobufUtil::toServerName).forEach(sn -> 
builder.addServerName(sn));
+    return builder.build();
   }
 
   private static List<RegionSpecifier> toEncodedRegionNameRegionSpecifiers(

Reply via email to