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));
}