You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2020/04/07 00:06:23 UTC
[hbase] branch branch-1 updated: HBASE-24115 Relocate test-only
REST "client" from src/ to test/ and mark Private (#1434)
This is an automated email from the ASF dual-hosted git repository.
apurtell pushed a commit to branch branch-1
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-1 by this push:
new c79fb39 HBASE-24115 Relocate test-only REST "client" from src/ to test/ and mark Private (#1434)
c79fb39 is described below
commit c79fb39d1a962ec650295a659867643092ea3b3e
Author: Andrew Purtell <ap...@apache.org>
AuthorDate: Mon Apr 6 16:18:40 2020 -0700
HBASE-24115 Relocate test-only REST "client" from src/ to test/ and mark Private (#1434)
Signed-off-by: Sean Busbey <bu...@apache.org>
Signed-off-by: Zach York <zy...@apache.org>
Signed-off-by: Reid Chan <re...@apache.org>
Signed-off-by: Viraj Jasani <vj...@apache.org>
Signed-off-by: Josh Elser <el...@apache.org>
---
.../apache/hadoop/hbase/rest/RESTDemoClient.java | 145 ---------------------
.../hadoop/hbase/rest/client/RemoteAdmin.java | 0
.../hadoop/hbase/rest/client/RemoteHTable.java | 0
3 files changed, 145 deletions(-)
diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/rest/RESTDemoClient.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/rest/RESTDemoClient.java
deleted file mode 100644
index 7a23554..0000000
--- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/rest/RESTDemoClient.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.hadoop.hbase.rest;
-
-import com.google.common.base.Preconditions;
-
-import java.security.PrivilegedExceptionAction;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.security.auth.Subject;
-import javax.security.auth.login.AppConfigurationEntry;
-import javax.security.auth.login.Configuration;
-import javax.security.auth.login.LoginContext;
-
-import org.apache.hadoop.hbase.Cell;
-import org.apache.hadoop.hbase.CellUtil;
-import org.apache.hadoop.hbase.HBaseConfiguration;
-import org.apache.hadoop.hbase.classification.InterfaceAudience;
-import org.apache.hadoop.hbase.client.Get;
-import org.apache.hadoop.hbase.client.Put;
-import org.apache.hadoop.hbase.client.Result;
-import org.apache.hadoop.hbase.rest.client.Client;
-import org.apache.hadoop.hbase.rest.client.Cluster;
-import org.apache.hadoop.hbase.rest.client.RemoteHTable;
-import org.apache.hadoop.hbase.util.Bytes;
-
-@InterfaceAudience.Private
-public class RESTDemoClient {
-
- private static String host = "localhost";
- private static int port = 9090;
- private static boolean secure = false;
- private static org.apache.hadoop.conf.Configuration conf = null;
-
- public static void main(String[] args) throws Exception {
- System.out.println("REST Demo");
- System.out.println("Usage: RESTDemoClient [host=localhost] [port=9090] [secure=false]");
- System.out.println("This demo assumes you have a table called \"example\""
- + " with a column family called \"family1\"");
-
- // use passed in arguments instead of defaults
- if (args.length >= 1) {
- host = args[0];
- }
- if (args.length >= 2) {
- port = Integer.parseInt(args[1]);
- }
- conf = HBaseConfiguration.create();
- String principal = conf.get(Constants.REST_KERBEROS_PRINCIPAL);
- if (principal != null) {
- secure = true;
- }
- if (args.length >= 3) {
- secure = Boolean.parseBoolean(args[2]);
- }
-
- final RESTDemoClient client = new RESTDemoClient();
- Subject.doAs(getSubject(), new PrivilegedExceptionAction<Void>() {
- @Override
- public Void run() throws Exception {
- client.run();
- return null;
- }
- });
- }
-
- public void run() throws Exception {
- Cluster cluster = new Cluster();
- cluster.add(host, port);
- Client restClient = new Client(cluster, conf.getBoolean(Constants.REST_SSL_ENABLED, false));
- try (RemoteHTable remoteTable = new RemoteHTable(restClient, conf, "example")) {
- // Write data to the table
- String rowKey = "row1";
- Put p = new Put(rowKey.getBytes());
- p.addColumn("family1".getBytes(), "qualifier1".getBytes(), "value1".getBytes());
- remoteTable.put(p);
-
- // Get the data from the table
- Get g = new Get(rowKey.getBytes());
- Result result = remoteTable.get(g);
-
- Preconditions.checkArgument(result != null,
- Bytes.toString(remoteTable.getTableName()) + " should have a row with key as " + rowKey);
- System.out.println("row = " + new String(result.getRow()));
- for (Cell cell : result.rawCells()) {
- System.out.print("family = " + Bytes.toString(CellUtil.cloneFamily(cell)) + "\t");
- System.out.print("qualifier = " + Bytes.toString(CellUtil.cloneQualifier(cell)) + "\t");
- System.out.print("value = " + Bytes.toString(CellUtil.cloneValue(cell)) + "\t");
- System.out.println("timestamp = " + Long.toString(cell.getTimestamp()));
- }
- }
- }
-
- static Subject getSubject() throws Exception {
- if (!secure) {
- return new Subject();
- }
-
- /*
- * To authenticate the demo client, kinit should be invoked ahead. Here we try to get the
- * Kerberos credential from the ticket cache.
- */
- LoginContext context = new LoginContext("", new Subject(), null, new Configuration() {
- @Override
- public AppConfigurationEntry[] getAppConfigurationEntry(String name) {
- Map<String, String> options = new HashMap<>();
- options.put("useKeyTab", "false");
- options.put("storeKey", "false");
- options.put("doNotPrompt", "true");
- options.put("useTicketCache", "true");
- options.put("renewTGT", "true");
- options.put("refreshKrb5Config", "true");
- options.put("isInitiator", "true");
- String ticketCache = System.getenv("KRB5CCNAME");
- if (ticketCache != null) {
- options.put("ticketCache", ticketCache);
- }
- options.put("debug", "true");
-
- return new AppConfigurationEntry[] {
- new AppConfigurationEntry("com.sun.security.auth.module.Krb5LoginModule",
- AppConfigurationEntry.LoginModuleControlFlag.REQUIRED, options) };
- }
- });
- context.login();
- return context.getSubject();
- }
-}
diff --git a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteAdmin.java b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/client/RemoteAdmin.java
similarity index 100%
rename from hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteAdmin.java
rename to hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/client/RemoteAdmin.java
diff --git a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
similarity index 100%
rename from hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
rename to hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java