Geoffrey Jacoby created PHOENIX-4657:
----------------------------------------
Summary: Allow global connections to see tenant-owned objects
Key: PHOENIX-4657
URL: https://issues.apache.org/jira/browse/PHOENIX-4657
Project: Phoenix
Issue Type: New Feature
Affects Versions: 4.13.0
Reporter: Geoffrey Jacoby
Views and indexes created by tenant connections are invisible to global
connections. This is problematic in environments where normal users are always
assigned tenant connections but system-level processes and admin tools use
globals.
A user can create a view or index that an administrator using, say, sqlline,
cannot easily drop.
In offline conversations, I've learned that one reason for this is
disambiguation: tenant A and tenant B can both create an object called
"Test.Foo".
One straightforward way around this problem is to allow the global connection
to fully qualify the object name. For example, to drop the views in the above
example, a user could do the following:
DROP VIEW IF EXISTS "A".Test.Foo
DROP VIEW IF EXISTS "B".Test.Foo
(The quotes are there to disambiguate <tenant_id>.<view name> from
<schema>.<view_name>)
If some environments wish to forbid global connections from seeing tenant-owned
objects (the old behavior), this could perhaps be configurable server-side in
hbase-site.xml, or alternately, by an enhancement to the GRANT functionality.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)