You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by ap...@apache.org on 2019/05/13 20:20:29 UTC
[phoenix] 01/01: PHOENIX-5277 Fixups for interface changes in HBase
1.5
This is an automated email from the ASF dual-hosted git repository.
apurtell pushed a commit to branch 4.x-HBase-1.5
in repository https://gitbox.apache.org/repos/asf/phoenix.git
commit 75d3bc0518aea777f665367ea5043a04bd098461
Author: Andrew Purtell <ap...@apache.org>
AuthorDate: Fri May 10 10:44:23 2019 -0700
PHOENIX-5277 Fixups for interface changes in HBase 1.5
---
dev/test-patch.properties | 3 +-
phoenix-assembly/pom.xml | 2 +-
phoenix-client/pom.xml | 2 +-
phoenix-core/pom.xml | 2 +-
.../hadoop/hbase/ipc/PhoenixRpcScheduler.java | 18 ++++++++++--
.../coprocessor/PhoenixAccessController.java | 24 +++++----------
.../PhoenixMetaDataCoprocessorHost.java | 34 +++++++++++++++++-----
phoenix-pherf/pom.xml | 2 +-
phoenix-server/pom.xml | 2 +-
phoenix-tracing-webapp/pom.xml | 2 +-
pom.xml | 4 +--
11 files changed, 59 insertions(+), 36 deletions(-)
diff --git a/dev/test-patch.properties b/dev/test-patch.properties
index b3dc46f..73ebbe1 100644
--- a/dev/test-patch.properties
+++ b/dev/test-patch.properties
@@ -27,8 +27,7 @@ MAX_LINE_LENGTH=100
# All supported branches for testing with precommit build
# be sure to consider branch name prefixes in the order, ie, 4.x should appear
# before 4 since the latter is a prefix
-BRANCH_NAMES="4.x-HBase-1.2 4.x-HBase-1.3 4.x-HBase-1.4 master"
-
+BRANCH_NAMES="4.x-HBase-1.3 4.x-HBase-1.4 4.x-HBase-1.5 master"
# All supported Hadoop versions that we want to test the compilation with
HADOOP2_VERSIONS="2.6.5 2.7.3 2.8.0"
diff --git a/phoenix-assembly/pom.xml b/phoenix-assembly/pom.xml
index 2ee0ad8..2991ff1 100644
--- a/phoenix-assembly/pom.xml
+++ b/phoenix-assembly/pom.xml
@@ -27,7 +27,7 @@
<parent>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix</artifactId>
- <version>4.15.0-HBase-1.4-SNAPSHOT</version>
+ <version>4.15.0-HBase-1.5-SNAPSHOT</version>
</parent>
<artifactId>phoenix-assembly</artifactId>
<name>Phoenix Assembly</name>
diff --git a/phoenix-client/pom.xml b/phoenix-client/pom.xml
index 9143b9a..15b6ddc 100644
--- a/phoenix-client/pom.xml
+++ b/phoenix-client/pom.xml
@@ -27,7 +27,7 @@
<parent>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix</artifactId>
- <version>4.15.0-HBase-1.4-SNAPSHOT</version>
+ <version>4.15.0-HBase-1.5-SNAPSHOT</version>
</parent>
<artifactId>phoenix-client</artifactId>
<name>Phoenix Client</name>
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 12b291c..e08445f 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix</artifactId>
- <version>4.15.0-HBase-1.4-SNAPSHOT</version>
+ <version>4.15.0-HBase-1.5-SNAPSHOT</version>
</parent>
<artifactId>phoenix-core</artifactId>
<name>Phoenix Core</name>
diff --git a/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java b/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
index 888084d..cb293ae 100644
--- a/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
+++ b/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
@@ -164,6 +164,20 @@ public class PhoenixRpcScheduler extends RpcScheduler {
public int getActiveScanRpcHandlerCount() {
return delegate.getActiveScanRpcHandlerCount();
}
-
-
+
+ @Override
+ public int getActiveGeneralRpcHandlerCount() {
+ return delegate.getActiveGeneralRpcHandlerCount();
+ }
+
+ @Override
+ public int getActivePriorityRpcHandlerCount() {
+ return delegate.getActivePriorityRpcHandlerCount();
+ }
+
+ @Override
+ public int getActiveReplicationRpcHandlerCount() {
+ return delegate.getActiveReplicationRpcHandlerCount();
+ }
+
}
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/PhoenixAccessController.java b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/PhoenixAccessController.java
index 1ef38bd..59d3036 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/PhoenixAccessController.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/PhoenixAccessController.java
@@ -138,7 +138,7 @@ public class PhoenixAccessController extends BaseMetaDataEndpointObserver {
htd.addFamily(new HColumnDescriptor(familyName));
}
for (BaseMasterAndRegionObserver observer : getAccessControllers()) {
- observer.preCreateTable(new ObserverContext<MasterCoprocessorEnvironment>(), htd, null);
+ observer.preCreateTable(new ObserverContext<MasterCoprocessorEnvironment>(getActiveUser()), htd, null);
}
}
@@ -317,11 +317,11 @@ public class PhoenixAccessController extends BaseMetaDataEndpointObserver {
for (BaseMasterAndRegionObserver observer : getAccessControllers()) {
if (tableType != PTableType.VIEW) {
- observer.preDeleteTable(new ObserverContext<MasterCoprocessorEnvironment>(), physicalTableName);
+ observer.preDeleteTable(new ObserverContext<MasterCoprocessorEnvironment>(getActiveUser()), physicalTableName);
}
if (indexes != null) {
for (PTable index : indexes) {
- observer.preDeleteTable(new ObserverContext<MasterCoprocessorEnvironment>(),
+ observer.preDeleteTable(new ObserverContext<MasterCoprocessorEnvironment>(getActiveUser()),
TableName.valueOf(index.getPhysicalName().getBytes()));
}
}
@@ -338,7 +338,7 @@ public class PhoenixAccessController extends BaseMetaDataEndpointObserver {
if (!accessCheckEnabled) { return; }
for (BaseMasterAndRegionObserver observer : getAccessControllers()) {
if (tableType != PTableType.VIEW) {
- observer.preModifyTable(new ObserverContext<MasterCoprocessorEnvironment>(), physicalTableName,
+ observer.preModifyTable(new ObserverContext<MasterCoprocessorEnvironment>(getActiveUser()), physicalTableName,
new HTableDescriptor(physicalTableName));
}
}
@@ -352,7 +352,7 @@ public class PhoenixAccessController extends BaseMetaDataEndpointObserver {
throws IOException {
if (!accessCheckEnabled) { return; }
for (BaseMasterAndRegionObserver observer : getAccessControllers()) {
- observer.preListNamespaceDescriptors(new ObserverContext<MasterCoprocessorEnvironment>(),
+ observer.preListNamespaceDescriptors(new ObserverContext<MasterCoprocessorEnvironment>(getActiveUser()),
Arrays.asList(NamespaceDescriptor.create(schemaName).build()));
}
}
@@ -362,7 +362,7 @@ public class PhoenixAccessController extends BaseMetaDataEndpointObserver {
throws IOException {
if (!accessCheckEnabled) { return; }
for (BaseMasterAndRegionObserver observer : getAccessControllers()) {
- observer.preCreateNamespace(new ObserverContext<MasterCoprocessorEnvironment>(),
+ observer.preCreateNamespace(new ObserverContext<MasterCoprocessorEnvironment>(getActiveUser()),
NamespaceDescriptor.create(schemaName).build());
}
}
@@ -372,7 +372,7 @@ public class PhoenixAccessController extends BaseMetaDataEndpointObserver {
throws IOException {
if (!accessCheckEnabled) { return; }
for (BaseMasterAndRegionObserver observer : getAccessControllers()) {
- observer.preDeleteNamespace(new ObserverContext<MasterCoprocessorEnvironment>(), schemaName);
+ observer.preDeleteNamespace(new ObserverContext<MasterCoprocessorEnvironment>(getActiveUser()), schemaName);
}
}
@@ -382,7 +382,7 @@ public class PhoenixAccessController extends BaseMetaDataEndpointObserver {
throws IOException {
if (!accessCheckEnabled) { return; }
for (BaseMasterAndRegionObserver observer : getAccessControllers()) {
- observer.preModifyTable(new ObserverContext<MasterCoprocessorEnvironment>(), physicalTableName,
+ observer.preModifyTable(new ObserverContext<MasterCoprocessorEnvironment>(getActiveUser()), physicalTableName,
new HTableDescriptor(physicalTableName));
}
// Check for read access in case of rebuild
@@ -613,14 +613,6 @@ public class PhoenixAccessController extends BaseMetaDataEndpointObserver {
}
return false;
}
-
- public static List<String> getSuperUsers() {
- return superUsers;
- }
-
- public static User getSystemUser() {
- return systemUser;
- }
}
public String authString(String user, TableName table, Set<Action> actions) {
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/PhoenixMetaDataCoprocessorHost.java b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/PhoenixMetaDataCoprocessorHost.java
index 07a3122..e089308 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/PhoenixMetaDataCoprocessorHost.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/PhoenixMetaDataCoprocessorHost.java
@@ -31,10 +31,13 @@ import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;
import org.apache.hadoop.hbase.coprocessor.ObserverContext;
import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
+import org.apache.hadoop.hbase.ipc.RpcServer;
import org.apache.hadoop.hbase.metrics.MetricRegistry;
import org.apache.hadoop.hbase.regionserver.Region;
import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;
import org.apache.hadoop.hbase.regionserver.RegionServerServices;
+import org.apache.hadoop.hbase.security.User;
+import org.apache.hadoop.hbase.security.UserProvider;
import org.apache.phoenix.query.QueryServices;
import org.apache.phoenix.query.QueryServicesOptions;
import org.apache.phoenix.schema.PIndexState;
@@ -44,6 +47,7 @@ import org.apache.phoenix.schema.PTableType;
public class PhoenixMetaDataCoprocessorHost
extends CoprocessorHost<PhoenixMetaDataCoprocessorHost.PhoenixMetaDataControllerEnvironment> {
private RegionCoprocessorEnvironment env;
+ private UserProvider userProvider;
public static final String PHOENIX_META_DATA_COPROCESSOR_CONF_KEY =
"hbase.coprocessor.phoenix.classes";
public static final String DEFAULT_PHOENIX_META_DATA_COPROCESSOR_CONF_KEY="org.apache.phoenix.coprocessor.PhoenixAccessController";
@@ -52,6 +56,7 @@ public class PhoenixMetaDataCoprocessorHost
super(null);
this.env = env;
this.conf = env.getConfiguration();
+ this.userProvider = UserProvider.instantiate(this.conf);
boolean accessCheckEnabled = this.conf.getBoolean(QueryServices.PHOENIX_ACLS_ENABLED,
QueryServicesOptions.DEFAULT_PHOENIX_ACLS_ENABLED);
if (this.conf.get(PHOENIX_META_DATA_COPROCESSOR_CONF_KEY) == null && accessCheckEnabled) {
@@ -63,6 +68,10 @@ public class PhoenixMetaDataCoprocessorHost
private static abstract class CoprocessorOperation<T extends CoprocessorEnvironment> extends ObserverContext<T> {
abstract void call(MetaDataEndpointObserver oserver, ObserverContext<T> ctx) throws IOException;
+ public CoprocessorOperation(User user) {
+ super(user);
+ }
+
public void postEnvCall(T env) {}
}
@@ -154,7 +163,7 @@ public class PhoenixMetaDataCoprocessorHost
public void preGetTable(final String tenantId, final String tableName, final TableName physicalTableName)
throws IOException {
- execOperation(new CoprocessorOperation<PhoenixMetaDataControllerEnvironment>() {
+ execOperation(new CoprocessorOperation<PhoenixMetaDataControllerEnvironment>(getActiveUser()) {
@Override
public void call(MetaDataEndpointObserver observer,
ObserverContext<PhoenixMetaDataControllerEnvironment> ctx) throws IOException {
@@ -166,7 +175,7 @@ public class PhoenixMetaDataCoprocessorHost
public void preCreateTable(final String tenantId, final String tableName, final TableName physicalTableName,
final TableName parentPhysicalTableName, final PTableType tableType, final Set<byte[]> familySet, final Set<TableName> indexes)
throws IOException {
- execOperation(new CoprocessorOperation<PhoenixMetaDataControllerEnvironment>() {
+ execOperation(new CoprocessorOperation<PhoenixMetaDataControllerEnvironment>(getActiveUser()) {
@Override
public void call(MetaDataEndpointObserver observer,
ObserverContext<PhoenixMetaDataControllerEnvironment> ctx) throws IOException {
@@ -178,7 +187,7 @@ public class PhoenixMetaDataCoprocessorHost
public void preDropTable(final String tenantId, final String tableName, final TableName physicalTableName,
final TableName parentPhysicalTableName, final PTableType tableType, final List<PTable> indexes) throws IOException {
- execOperation(new CoprocessorOperation<PhoenixMetaDataControllerEnvironment>() {
+ execOperation(new CoprocessorOperation<PhoenixMetaDataControllerEnvironment>(getActiveUser()) {
@Override
public void call(MetaDataEndpointObserver observer,
ObserverContext<PhoenixMetaDataControllerEnvironment> ctx) throws IOException {
@@ -189,7 +198,7 @@ public class PhoenixMetaDataCoprocessorHost
public void preAlterTable(final String tenantId, final String tableName, final TableName physicalTableName,
final TableName parentPhysicalTableName, final PTableType type) throws IOException {
- execOperation(new CoprocessorOperation<PhoenixMetaDataControllerEnvironment>() {
+ execOperation(new CoprocessorOperation<PhoenixMetaDataControllerEnvironment>(getActiveUser()) {
@Override
public void call(MetaDataEndpointObserver observer,
ObserverContext<PhoenixMetaDataControllerEnvironment> ctx) throws IOException {
@@ -199,7 +208,7 @@ public class PhoenixMetaDataCoprocessorHost
}
public void preGetSchema(final String schemaName) throws IOException {
- execOperation(new CoprocessorOperation<PhoenixMetaDataControllerEnvironment>() {
+ execOperation(new CoprocessorOperation<PhoenixMetaDataControllerEnvironment>(getActiveUser()) {
@Override
public void call(MetaDataEndpointObserver observer,
ObserverContext<PhoenixMetaDataControllerEnvironment> ctx) throws IOException {
@@ -210,7 +219,7 @@ public class PhoenixMetaDataCoprocessorHost
public void preCreateSchema(final String schemaName) throws IOException {
- execOperation(new CoprocessorOperation<PhoenixMetaDataControllerEnvironment>() {
+ execOperation(new CoprocessorOperation<PhoenixMetaDataControllerEnvironment>(getActiveUser()) {
@Override
public void call(MetaDataEndpointObserver observer,
ObserverContext<PhoenixMetaDataControllerEnvironment> ctx) throws IOException {
@@ -220,7 +229,7 @@ public class PhoenixMetaDataCoprocessorHost
}
public void preDropSchema(final String schemaName) throws IOException {
- execOperation(new CoprocessorOperation<PhoenixMetaDataControllerEnvironment>() {
+ execOperation(new CoprocessorOperation<PhoenixMetaDataControllerEnvironment>(getActiveUser()) {
@Override
public void call(MetaDataEndpointObserver observer,
ObserverContext<PhoenixMetaDataControllerEnvironment> ctx) throws IOException {
@@ -231,7 +240,7 @@ public class PhoenixMetaDataCoprocessorHost
public void preIndexUpdate(final String tenantId, final String indexName, final TableName physicalTableName,
final TableName parentPhysicalTableName, final PIndexState newState) throws IOException {
- execOperation(new CoprocessorOperation<PhoenixMetaDataControllerEnvironment>() {
+ execOperation(new CoprocessorOperation<PhoenixMetaDataControllerEnvironment>(getActiveUser()) {
@Override
public void call(MetaDataEndpointObserver observer,
ObserverContext<PhoenixMetaDataControllerEnvironment> ctx) throws IOException {
@@ -239,4 +248,13 @@ public class PhoenixMetaDataCoprocessorHost
}
});
}
+
+ private User getActiveUser() throws IOException {
+ User user = RpcServer.getRequestUser();
+ if (user == null) {
+ // for non-rpc handling, fallback to system user
+ user = userProvider.getCurrent();
+ }
+ return user;
+ }
}
diff --git a/phoenix-pherf/pom.xml b/phoenix-pherf/pom.xml
index 747ec40..c50a544 100644
--- a/phoenix-pherf/pom.xml
+++ b/phoenix-pherf/pom.xml
@@ -15,7 +15,7 @@
<parent>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix</artifactId>
- <version>4.15.0-HBase-1.4-SNAPSHOT</version>
+ <version>4.15.0-HBase-1.5-SNAPSHOT</version>
</parent>
<artifactId>phoenix-pherf</artifactId>
diff --git a/phoenix-server/pom.xml b/phoenix-server/pom.xml
index ba76460..74b4ec8 100644
--- a/phoenix-server/pom.xml
+++ b/phoenix-server/pom.xml
@@ -27,7 +27,7 @@
<parent>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix</artifactId>
- <version>4.15.0-HBase-1.4-SNAPSHOT</version>
+ <version>4.15.0-HBase-1.5-SNAPSHOT</version>
</parent>
<artifactId>phoenix-server</artifactId>
<name>Phoenix Server</name>
diff --git a/phoenix-tracing-webapp/pom.xml b/phoenix-tracing-webapp/pom.xml
index dfe8561..2b6a984 100755
--- a/phoenix-tracing-webapp/pom.xml
+++ b/phoenix-tracing-webapp/pom.xml
@@ -27,7 +27,7 @@
<parent>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix</artifactId>
- <version>4.15.0-HBase-1.4-SNAPSHOT</version>
+ <version>4.15.0-HBase-1.5-SNAPSHOT</version>
</parent>
<artifactId>phoenix-tracing-webapp</artifactId>
diff --git a/pom.xml b/pom.xml
index ab180b8..f31dbf1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix</artifactId>
- <version>4.15.0-HBase-1.4-SNAPSHOT</version>
+ <version>4.15.0-HBase-1.5-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Apache Phoenix</name>
<description>A SQL layer over HBase</description>
@@ -58,7 +58,7 @@
<top.dir>${project.basedir}</top.dir>
<!-- Hadoop Versions -->
- <hbase.version>1.4.0</hbase.version>
+ <hbase.version>1.5.0-SNAPSHOT</hbase.version>
<hadoop-two.version>2.7.5</hadoop-two.version>
<!-- Dependency versions -->