You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by st...@apache.org on 2020/03/16 10:06:16 UTC

[phoenix-queryserver] branch master updated: PHOENIX-5777 Unify the queryserver config keys to use QueryServerProperties

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

stoty pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/phoenix-queryserver.git


The following commit(s) were added to refs/heads/master by this push:
     new a34ac99  PHOENIX-5777 Unify the queryserver config keys to use QueryServerProperties
a34ac99 is described below

commit a34ac99232a92b869e2195f4975826d2e37ee3c4
Author: Guanghao Zhang <zg...@apache.org>
AuthorDate: Mon Mar 16 11:47:20 2020 +0800

    PHOENIX-5777 Unify the queryserver config keys to use QueryServerProperties
    
    Closes #21
---
 .../apache/phoenix/end2end/QueryServerEnvironment.java   | 16 +++++++++-------
 .../phoenix/end2end/SecureQueryServerPhoenixDBIT.java    | 13 ++++++++-----
 .../server/PhoenixRemoteUserExtractorTest.java           | 16 +++++++---------
 .../queryserver/server/QueryServerConfigurationTest.java | 13 +++++++++----
 .../phoenix/queryserver/server/QueryServerTest.java      | 10 +++++-----
 5 files changed, 38 insertions(+), 30 deletions(-)

diff --git a/queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerEnvironment.java b/queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerEnvironment.java
index 165e643..537d5a5 100644
--- a/queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerEnvironment.java
+++ b/queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerEnvironment.java
@@ -43,7 +43,6 @@ import org.apache.hadoop.minikdc.MiniKdc;
 import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.hadoop.security.authentication.util.KerberosName;
 import org.apache.phoenix.query.ConfigurationFactory;
-import org.apache.phoenix.query.QueryServices;
 import org.apache.phoenix.queryserver.QueryServerProperties;
 import org.apache.phoenix.queryserver.client.ThinClientUtil;
 import org.apache.phoenix.queryserver.server.QueryServer;
@@ -249,13 +248,16 @@ public class QueryServerEnvironment {
         }
 
         // Secure Phoenix setup
-        conf.set("phoenix.queryserver.kerberos.http.principal",
+        conf.set(QueryServerProperties.QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB_LEGACY,
             SPNEGO_PRINCIPAL + "@" + KDC.getRealm());
-        conf.set("phoenix.queryserver.http.keytab.file", KEYTAB.getAbsolutePath());
-        conf.set("phoenix.queryserver.kerberos.principal", PQS_PRINCIPAL + "@" + KDC.getRealm());
-        conf.set("phoenix.queryserver.keytab.file", KEYTAB.getAbsolutePath());
-        conf.setBoolean(QueryServices.QUERY_SERVER_DISABLE_KERBEROS_LOGIN, true);
-        conf.setInt(QueryServices.QUERY_SERVER_HTTP_PORT_ATTRIB, 0);
+        conf.set(QueryServerProperties.QUERY_SERVER_HTTP_KEYTAB_FILENAME_ATTRIB,
+            KEYTAB.getAbsolutePath());
+        conf.set(QueryServerProperties.QUERY_SERVER_KERBEROS_PRINCIPAL_ATTRIB,
+            PQS_PRINCIPAL + "@" + KDC.getRealm());
+        conf.set(QueryServerProperties.QUERY_SERVER_KEYTAB_FILENAME_ATTRIB,
+            KEYTAB.getAbsolutePath());
+        conf.setBoolean(QueryServerProperties.QUERY_SERVER_DISABLE_KERBEROS_LOGIN, true);
+        conf.setInt(QueryServerProperties.QUERY_SERVER_HTTP_PORT_ATTRIB, 0);
         // Required so that PQS can impersonate the end-users to HBase
         conf.set("hadoop.proxyuser.phoenixqs.groups", "*");
         conf.set("hadoop.proxyuser.phoenixqs.hosts", "*");
diff --git a/queryserver/src/it/java/org/apache/phoenix/end2end/SecureQueryServerPhoenixDBIT.java b/queryserver/src/it/java/org/apache/phoenix/end2end/SecureQueryServerPhoenixDBIT.java
index 19789b8..b99693a 100644
--- a/queryserver/src/it/java/org/apache/phoenix/end2end/SecureQueryServerPhoenixDBIT.java
+++ b/queryserver/src/it/java/org/apache/phoenix/end2end/SecureQueryServerPhoenixDBIT.java
@@ -53,7 +53,6 @@ import org.apache.hadoop.minikdc.MiniKdc;
 import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.hadoop.security.authentication.util.KerberosName;
 import org.apache.phoenix.query.ConfigurationFactory;
-import org.apache.phoenix.query.QueryServices;
 import org.apache.phoenix.queryserver.QueryServerProperties;
 import org.apache.phoenix.queryserver.client.ThinClientUtil;
 import org.apache.phoenix.queryserver.server.QueryServer;
@@ -231,10 +230,14 @@ public class SecureQueryServerPhoenixDBIT {
             TokenProvider.class.getName());
 
         // Secure Phoenix setup
-        conf.set("phoenix.queryserver.kerberos.http.principal", SPNEGO_PRINCIPAL + "@" + KDC.getRealm());
-        conf.set("phoenix.queryserver.http.keytab.file", KEYTAB.getAbsolutePath());
-        conf.set("phoenix.queryserver.kerberos.principal", PQS_PRINCIPAL + "@" + KDC.getRealm());
-        conf.set("phoenix.queryserver.keytab.file", KEYTAB.getAbsolutePath());
+        conf.set(QueryServerProperties.QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB_LEGACY,
+            SPNEGO_PRINCIPAL + "@" + KDC.getRealm());
+        conf.set(QueryServerProperties.QUERY_SERVER_HTTP_KEYTAB_FILENAME_ATTRIB,
+            KEYTAB.getAbsolutePath());
+        conf.set(QueryServerProperties.QUERY_SERVER_KERBEROS_PRINCIPAL_ATTRIB,
+            PQS_PRINCIPAL + "@" + KDC.getRealm());
+        conf.set(QueryServerProperties.QUERY_SERVER_KEYTAB_FILENAME_ATTRIB,
+            KEYTAB.getAbsolutePath());
         conf.setBoolean(QueryServerProperties.QUERY_SERVER_DISABLE_KERBEROS_LOGIN, true);
         conf.setInt(QueryServerProperties.QUERY_SERVER_HTTP_PORT_ATTRIB, 0);
         // Required so that PQS can impersonate the end-users to HBase
diff --git a/queryserver/src/test/java/org/apache/phoenix/queryserver/server/PhoenixRemoteUserExtractorTest.java b/queryserver/src/test/java/org/apache/phoenix/queryserver/server/PhoenixRemoteUserExtractorTest.java
index 9351989..6aaeb5b 100644
--- a/queryserver/src/test/java/org/apache/phoenix/queryserver/server/PhoenixRemoteUserExtractorTest.java
+++ b/queryserver/src/test/java/org/apache/phoenix/queryserver/server/PhoenixRemoteUserExtractorTest.java
@@ -17,26 +17,24 @@
 package org.apache.phoenix.queryserver.server;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.mockito.Mockito.any;
+import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import javax.servlet.http.HttpServletRequest;
+
 import org.apache.calcite.avatica.server.HttpServer;
 import org.apache.calcite.avatica.server.RemoteUserExtractionException;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.security.UserGroupInformation;
-import org.apache.hadoop.security.authorize.AuthorizationException;
 import org.apache.hadoop.security.authorize.ProxyUsers;
+import org.apache.phoenix.queryserver.QueryServerProperties;
 import org.apache.phoenix.queryserver.server.QueryServer.PhoenixRemoteUserExtractor;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.servlet.http.HttpServletRequest;
-
 /**
  * Tests for the RemoteUserExtractor Method Avatica provides for Phoenix to implement.
  */
@@ -53,7 +51,7 @@ public class PhoenixRemoteUserExtractorTest {
     Configuration conf = new Configuration(false);
     conf.set("hadoop.proxyuser.proxyserver.groups", "*");
     conf.set("hadoop.proxyuser.proxyserver.hosts", "*");
-    conf.set("phoenix.queryserver.withRemoteUserExtractor", "true");
+    conf.set(QueryServerProperties.QUERY_SERVER_WITH_REMOTEUSEREXTRACTOR_ATTRIB, "true");
     ProxyUsers.refreshSuperUserGroupsConfiguration(conf);
 
     PhoenixRemoteUserExtractor extractor = new PhoenixRemoteUserExtractor(conf);
@@ -73,7 +71,7 @@ public class PhoenixRemoteUserExtractorTest {
     Configuration conf = new Configuration(false);
     conf.set("hadoop.proxyuser.proxyserver.groups", "*");
     conf.set("hadoop.proxyuser.proxyserver.hosts", "*");
-    conf.set("phoenix.queryserver.withRemoteUserExtractor", "true");
+    conf.set(QueryServerProperties.QUERY_SERVER_WITH_REMOTEUSEREXTRACTOR_ATTRIB, "true");
     ProxyUsers.refreshSuperUserGroupsConfiguration(conf);
 
     PhoenixRemoteUserExtractor extractor = new PhoenixRemoteUserExtractor(conf);
@@ -99,7 +97,7 @@ public class PhoenixRemoteUserExtractorTest {
 
     HttpServer.Builder builder = mock(HttpServer.Builder.class);
     Configuration conf = new Configuration(false);
-    conf.set("phoenix.queryserver.withRemoteUserExtractor", "true");
+    conf.set(QueryServerProperties.QUERY_SERVER_WITH_REMOTEUSEREXTRACTOR_ATTRIB, "true");
     QueryServer queryServer = new QueryServer();
     queryServer.setRemoteUserExtractorIfNecessary(builder, conf);
     verify(builder).withRemoteUserExtractor(any(PhoenixRemoteUserExtractor.class));
diff --git a/queryserver/src/test/java/org/apache/phoenix/queryserver/server/QueryServerConfigurationTest.java b/queryserver/src/test/java/org/apache/phoenix/queryserver/server/QueryServerConfigurationTest.java
index d01d2ea..099a55a 100644
--- a/queryserver/src/test/java/org/apache/phoenix/queryserver/server/QueryServerConfigurationTest.java
+++ b/queryserver/src/test/java/org/apache/phoenix/queryserver/server/QueryServerConfigurationTest.java
@@ -17,6 +17,13 @@
  */
 package org.apache.phoenix.queryserver.server;
 
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+
 import java.io.File;
 import java.io.IOException;
 
@@ -26,14 +33,12 @@ import org.apache.calcite.avatica.server.HttpServer;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.security.UserGroupInformation;
-import org.apache.phoenix.query.QueryServices;
+import org.apache.phoenix.queryserver.QueryServerProperties;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 
-import static org.mockito.Mockito.*;
-
 public class QueryServerConfigurationTest {
   private static final Configuration CONF = HBaseConfiguration.create();
 
@@ -81,7 +86,7 @@ public class QueryServerConfigurationTest {
 
   private void setupKeytabForSpnego() throws IOException {
     File keytabFile = testFolder.newFile("test.keytab");
-    CONF.set(QueryServices.QUERY_SERVER_KEYTAB_FILENAME_ATTRIB, keytabFile.getAbsolutePath());
+    CONF.set(QueryServerProperties.QUERY_SERVER_KEYTAB_FILENAME_ATTRIB, keytabFile.getAbsolutePath());
   }
 
   private void configureAndVerifyImpersonation(HttpServer.Builder builder, boolean disableSpnego)
diff --git a/queryserver/src/test/java/org/apache/phoenix/queryserver/server/QueryServerTest.java b/queryserver/src/test/java/org/apache/phoenix/queryserver/server/QueryServerTest.java
index 243e713..bf6acff 100644
--- a/queryserver/src/test/java/org/apache/phoenix/queryserver/server/QueryServerTest.java
+++ b/queryserver/src/test/java/org/apache/phoenix/queryserver/server/QueryServerTest.java
@@ -23,7 +23,7 @@ import java.io.IOException;
 import java.net.InetAddress;
 
 import org.apache.hadoop.conf.Configuration;
-import org.apache.phoenix.query.QueryServices;
+import org.apache.phoenix.queryserver.QueryServerProperties;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -51,23 +51,23 @@ public class QueryServerTest {
 
   @Test
   public void testHostExpansion() throws IOException {
-    conf.set(QueryServices.QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB, getSpnegoPrincipal("_HOST"));
+    conf.set(QueryServerProperties.QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB, getSpnegoPrincipal("_HOST"));
 
     assertEquals(getSpnegoPrincipal(EXPECTED_HOSTNAME), qs.getSpnegoPrincipal(conf));
   }
 
   @Test
   public void testHostExpansionWithOldName() throws IOException {
-    conf.set(QueryServices.QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB_LEGACY, getSpnegoPrincipal("_HOST"));
+    conf.set(QueryServerProperties.QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB_LEGACY, getSpnegoPrincipal("_HOST"));
 
     assertEquals(getSpnegoPrincipal(EXPECTED_HOSTNAME), qs.getSpnegoPrincipal(conf));
   }
 
   @Test
   public void testHostExpansionWithOldAndNewNames() throws IOException {
-    conf.set(QueryServices.QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB, getSpnegoPrincipal("_HOST"));
+    conf.set(QueryServerProperties.QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB, getSpnegoPrincipal("_HOST"));
     // When we provide both names, the new property should take priority
-    conf.set(QueryServices.QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB_LEGACY, "fake_" + getSpnegoPrincipal("_HOST"));
+    conf.set(QueryServerProperties.QUERY_SERVER_KERBEROS_HTTP_PRINCIPAL_ATTRIB_LEGACY, "fake_" + getSpnegoPrincipal("_HOST"));
 
     assertEquals(getSpnegoPrincipal(EXPECTED_HOSTNAME), qs.getSpnegoPrincipal(conf));
   }