HBASE-18566 [RSGROUP]Log the client IP/port of the rsgroup admin Signed-off-by: tedyu <yuzhih...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/c6bf4d51 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/c6bf4d51 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/c6bf4d51 Branch: refs/heads/HBASE-14070.HLC Commit: c6bf4d51928985517c438d1efcaefdeddc9ac5ef Parents: 05e6e56 Author: Guangxu Cheng <guangxuch...@gmail.com> Authored: Mon Aug 14 10:44:52 2017 +0800 Committer: tedyu <yuzhih...@gmail.com> Committed: Sun Aug 13 20:29:12 2017 -0700 ---------------------------------------------------------------------- .../hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java | 15 +++++++++++++++ .../java/org/apache/hadoop/hbase/master/HMaster.java | 2 +- .../apache/hadoop/hbase/master/MasterServices.java | 2 ++ .../hadoop/hbase/master/MockNoopMasterServices.java | 5 +++++ 4 files changed, 23 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/c6bf4d51/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java ---------------------------------------------------------------------- diff --git a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java index 9fda3f0..0bc5c76 100644 --- a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java +++ b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java @@ -120,6 +120,8 @@ public class RSGroupAdminEndpoint implements MasterObserver, CoprocessorService GetRSGroupInfoRequest request, RpcCallback<GetRSGroupInfoResponse> done) { GetRSGroupInfoResponse.Builder builder = GetRSGroupInfoResponse.newBuilder(); String groupName = request.getRSGroupName(); + LOG.info(master.getClientIdAuditPrefix() + " initiates rsgroup info retrieval, group=" + + groupName); try { RSGroupInfo rsGroupInfo = groupAdminServer.getRSGroupInfo(groupName); if (rsGroupInfo != null) { @@ -137,6 +139,8 @@ public class RSGroupAdminEndpoint implements MasterObserver, CoprocessorService GetRSGroupInfoOfTableResponse.Builder builder = GetRSGroupInfoOfTableResponse.newBuilder(); try { TableName tableName = ProtobufUtil.toTableName(request.getTableName()); + LOG.info(master.getClientIdAuditPrefix() + " initiates rsgroup info retrieval, table=" + + tableName); RSGroupInfo RSGroupInfo = groupAdminServer.getRSGroupInfoOfTable(tableName); if (RSGroupInfo != null) { builder.setRSGroupInfo(RSGroupProtobufUtil.toProtoGroupInfo(RSGroupInfo)); @@ -156,6 +160,8 @@ public class RSGroupAdminEndpoint implements MasterObserver, CoprocessorService for (HBaseProtos.ServerName el : request.getServersList()) { hostPorts.add(Address.fromParts(el.getHostName(), el.getPort())); } + LOG.info(master.getClientIdAuditPrefix() + " move servers " + hostPorts +" to rsgroup " + + request.getTargetGroup()); groupAdminServer.moveServers(hostPorts, request.getTargetGroup()); } catch (IOException e) { CoprocessorRpcUtils.setControllerException(controller, e); @@ -172,6 +178,8 @@ public class RSGroupAdminEndpoint implements MasterObserver, CoprocessorService for (HBaseProtos.TableName tableName : request.getTableNameList()) { tables.add(ProtobufUtil.toTableName(tableName)); } + LOG.info(master.getClientIdAuditPrefix() + " move tables " + tables +" to rsgroup " + + request.getTargetGroup()); groupAdminServer.moveTables(tables, request.getTargetGroup()); } catch (IOException e) { CoprocessorRpcUtils.setControllerException(controller, e); @@ -183,6 +191,7 @@ public class RSGroupAdminEndpoint implements MasterObserver, CoprocessorService public void addRSGroup(RpcController controller, AddRSGroupRequest request, RpcCallback<AddRSGroupResponse> done) { AddRSGroupResponse.Builder builder = AddRSGroupResponse.newBuilder(); + LOG.info(master.getClientIdAuditPrefix() + " add rsgroup " + request.getRSGroupName()); try { groupAdminServer.addRSGroup(request.getRSGroupName()); } catch (IOException e) { @@ -196,6 +205,7 @@ public class RSGroupAdminEndpoint implements MasterObserver, CoprocessorService RemoveRSGroupRequest request, RpcCallback<RemoveRSGroupResponse> done) { RemoveRSGroupResponse.Builder builder = RemoveRSGroupResponse.newBuilder(); + LOG.info(master.getClientIdAuditPrefix() + " remove rsgroup " + request.getRSGroupName()); try { groupAdminServer.removeRSGroup(request.getRSGroupName()); } catch (IOException e) { @@ -208,6 +218,7 @@ public class RSGroupAdminEndpoint implements MasterObserver, CoprocessorService public void balanceRSGroup(RpcController controller, BalanceRSGroupRequest request, RpcCallback<BalanceRSGroupResponse> done) { BalanceRSGroupResponse.Builder builder = BalanceRSGroupResponse.newBuilder(); + LOG.info(master.getClientIdAuditPrefix() + " balance rsgroup, group=" + request.getRSGroupName()); try { builder.setBalanceRan(groupAdminServer.balanceRSGroup(request.getRSGroupName())); } catch (IOException e) { @@ -221,6 +232,7 @@ public class RSGroupAdminEndpoint implements MasterObserver, CoprocessorService public void listRSGroupInfos(RpcController controller, ListRSGroupInfosRequest request, RpcCallback<ListRSGroupInfosResponse> done) { ListRSGroupInfosResponse.Builder builder = ListRSGroupInfosResponse.newBuilder(); + LOG.info(master.getClientIdAuditPrefix() + " list rsgroup"); try { for (RSGroupInfo RSGroupInfo : groupAdminServer.listRSGroups()) { builder.addRSGroupInfo(RSGroupProtobufUtil.toProtoGroupInfo(RSGroupInfo)); @@ -238,6 +250,7 @@ public class RSGroupAdminEndpoint implements MasterObserver, CoprocessorService try { Address hp = Address.fromParts(request.getServer().getHostName(), request.getServer().getPort()); + LOG.info(master.getClientIdAuditPrefix() + " initiates rsgroup info retrieval, server=" + hp); RSGroupInfo RSGroupInfo = groupAdminServer.getRSGroupOfServer(hp); if (RSGroupInfo != null) { builder.setRSGroupInfo(RSGroupProtobufUtil.toProtoGroupInfo(RSGroupInfo)); @@ -261,6 +274,8 @@ public class RSGroupAdminEndpoint implements MasterObserver, CoprocessorService for (HBaseProtos.TableName tableName : request.getTableNameList()) { tables.add(ProtobufUtil.toTableName(tableName)); } + LOG.info(master.getClientIdAuditPrefix() + " move servers " + hostPorts + + " and tables " + tables + " to rsgroup" + request.getTargetGroup()); groupAdminServer.moveServersAndTables(hostPorts, tables, request.getTargetGroup()); } catch (IOException e) { CoprocessorRpcUtils.setControllerException(controller, e); http://git-wip-us.apache.org/repos/asf/hbase/blob/c6bf4d51/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java index faf0893..ce83838 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java @@ -1517,7 +1517,7 @@ public class HMaster extends HRegionServer implements MasterServices { /** * @return Client info for use as prefix on an audit log string; who did an action */ - String getClientIdAuditPrefix() { + public String getClientIdAuditPrefix() { return "Client=" + RpcServer.getRequestUserName() + "/" + RpcServer.getRemoteAddress(); } http://git-wip-us.apache.org/repos/asf/hbase/blob/c6bf4d51/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterServices.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterServices.java index f7f5d06..6e97bf4 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterServices.java @@ -508,4 +508,6 @@ public interface MasterServices extends Server { * method to make sure meta is initialized. */ boolean recoverMeta() throws IOException; + + String getClientIdAuditPrefix(); } http://git-wip-us.apache.org/repos/asf/hbase/blob/c6bf4d51/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java index aac0e21..27c9a5f 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java @@ -460,6 +460,11 @@ public class MockNoopMasterServices implements MasterServices, Server { } @Override + public String getClientIdAuditPrefix() { + return null; + } + + @Override public ProcedureEvent getInitializedEvent() { // TODO Auto-generated method stub return null;