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)