Chinmay Kulkarni created PHOENIX-5274:
-----------------------------------------
Summary: ConnectionQueryServiceImpl#ensureNamespaceCreated and
ensureTableCreated should use HBase APIs that do not require ADMIN permissions
for existence checks
Key: PHOENIX-5274
URL: https://issues.apache.org/jira/browse/PHOENIX-5274
Project: Phoenix
Issue Type: Improvement
Affects Versions: 5.0.0, 4.15.0, 4.14.2
Reporter: Chinmay Kulkarni
Assignee: Chinmay Kulkarni
Fix For: 4.15.0, 4.14.2, 5.0.0
[HBASE-22377|https://issues.apache.org/jira/browse/HBASE-22377] will introduce
a new API that does not require ADMIN permissions to check the existence of a
namespace.
Currently, CQSI#ensureNamespaceCreated calls HBaseAdmin#getNamespaceDescriptor
which eventually on the server causes a call to
AccessController#preGetNamespaceDescriptor. This tries to acquire ADMIN
permissions on the namespace. We should ideally use the new API provided by
HBASE-22377 which does not require the phoenix client to get ADMIN permissions
on the namespace. We should acquire ADMIN permissions only in case we need to
create the namespace if it doesn't already exist.
Similarly, CQSI#ensureTableCreated should first check the existence of a table
before trying to do HBaseAdmin#getTableDescriptor since this requires CREATE
and ADMIN permissions.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)