[ 
https://issues.apache.org/jira/browse/PHOENIX-2862?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15273302#comment-15273302
 ] 

James Taylor commented on PHOENIX-2862:
---------------------------------------

What happens in this scenario, [~ankit.singhal]?
- Both 4.7 and 4.8 clients are in use against a cluster with 4.8 on it
- The user migrates one of their table FOO.BAR to be namespace away. At this 
point table BAR now lives in namespace FOO.
- The 4.7 client runs a query against FOO.BAR.

Won't the 4.7 client fail to find FOO.BAR? Is this case any different than 
SYSTEM.CATALOG? Seems to me, we have to make it clear that users shouldn't 
migrate any of their existing tables (including SYSTEM.CATALOG) to namespaces 
until all clients are 4.8.

Just thinking that perhaps the SYSTEM tables are in the same boat as user 
tables.

> 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)

Reply via email to