Chinmay Kulkarni created PHOENIX-4684:
-----------------------------------------
Summary: Creation of SYSTEM tables should not depend on
client-side properties
Key: PHOENIX-4684
URL: https://issues.apache.org/jira/browse/PHOENIX-4684
Project: Phoenix
Issue Type: Bug
Reporter: Chinmay Kulkarni
Currently, when the server receives its first connection, SYSTEM.CATALOG or
SYSTEM:CATALOG (and other system tables) are created depending on whether
namespace mapping is enabled or not on the connecting client. This can lead to
potential bugs and unexpected behavior. For example:
Let's say *namespace mapping is disabled on the server*, but the first
connection the server gets is from a *client where namespace mapping is
enabled*. In this case, we will create the HBase physical table SYSTEM:CATALOG
and then this client fails with an _SQLException_ for "Inconsistent namespace
mapping properties".
Now, when a client that has consistent namespace mapping properties with this
server i.e. ns-mapping disabled, tries to connect to this server, that client
will get the same exception from the CQSI._init_ method since SYSTEM:CATALOG
exists already. This client will thus never be able to get a connection to the
server even though it is potentially compatible with the server.
Thus, system table creation should be purely driven by server-side properties
and not be dependent on the properties of the first client that connects to the
server.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)