[ https://issues.apache.org/jira/browse/PHOENIX-2862?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15269466#comment-15269466 ]
Ankit Singhal commented on PHOENIX-2862: ---------------------------------------- [~samarthjain] bq. It seems like users need to have a config now on the server side to enable system table upgrade to namespace Yes , as system tables are accessed directly with the absolute name so if they are migrated to namespace and client/server doesn't know about it, then they cannot access them by using table name SYSTEM\[.\](as they should use SYSTEM\[:\]) bq. Why can't older clients connect to cluster running new phoenix jars if the config is enabled? What problem would we run into if the system tables are name space mapped and then an older client tries to connect to it? Config at server is the indication that SYSTEM tables are migrated to namespace by newer client . so , old client can not know(even if it has that config enable) that the system tables are now exists in SYSTEM namespace and they will never able to access them. so this config needs to be used only when you are running only new clients in the cluster. bq. What about user tables? Wouldn't we run into same problems for them too? No, we will not run into the same problem for user tables, as User tables mapped or unmapped can be easily resolved by looking at isNamespaceFlag in meta table. Old client can also easily resolve the *unmapped* tables by ignoring the flag. > Do client server compatibility checks before upgrading system tables > -------------------------------------------------------------------- > > Key: PHOENIX-2862 > URL: https://issues.apache.org/jira/browse/PHOENIX-2862 > Project: Phoenix > Issue Type: Sub-task > Reporter: Ankit Singhal > Assignee: Ankit Singhal > Fix For: 4.8.0 > > Attachments: PHOENIX-2862.patch > > > currently , we allow upgrade of system tables to map to system namespace by > enabling "phoenix.schema.mapSystemTablesToNamespace" config (conjuction with > "phoenix.connection.isNamespaceMappingEnabled") > but we need to ensure following things whenever client connects with above > config:- > 1. Server should be upgraded and check consistency of these properties > between client and server. > 2. If above property does not exists but system:catalog exists, we should not > start creating system.catalog. > 3. if old client connects, it should not create system.catalog again ignoring > the upgrade and start using it. -- This message was sent by Atlassian JIRA (v6.3.4#6332)