[ https://issues.apache.org/jira/browse/PHOENIX-4579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16414652#comment-16414652 ]
ASF GitHub Bot commented on PHOENIX-4579: ----------------------------------------- Github user ChinmaySKulkarni commented on the issue: https://github.com/apache/phoenix/pull/295 @JamesRTaylor Ok cool. I've made the changes so checks are inside _ensureTableCreated_. Please take a look now. One thing that's confusing me is that inside our _init_ method at the moment, if an upgrade is not required, we create all other SYSTEM tables, however we don't map them to the SYSTEM namespace at that point. As of now, when the server gets connected to for the first time i.e. no SYSTEM tables exist, we call _ensureSystemTablesMigratedToSystemNamespace_, but this just creates the HBase SYSTEM namespace and returns without migrating tables since they haven't been created yet. However, later on when we do create other SYSTEM tables, we aren't migrating them to the SYSTEM namespace right away. Now, as per the current design, whenever another client with NS-mapping enabled connects to the server, we will migrate these SYSTEM tables to the SYSTEM namespace when _ensureSystemTablesMigratedToSystemNamespace_ is called within _init_ (with my PR, this will be called inside _ensureTableCreated_ when the table is SYSTEM.CATALOG and NS-mapping is enabled, instead of in _init_). My question is, shouldn't we map SYSTEM tables to the SYSTEM namespace immediately after creating them? > Add a config to conditionally create Phoenix meta tables on first client > connection > ----------------------------------------------------------------------------------- > > Key: PHOENIX-4579 > URL: https://issues.apache.org/jira/browse/PHOENIX-4579 > Project: Phoenix > Issue Type: New Feature > Reporter: Mujtaba Chohan > Assignee: Chinmay Kulkarni > Priority: Major > Attachments: PHOENIX-4579.patch > > > Currently we create/modify Phoenix meta tables on first client connection. > Adding a property to make it configurable (with default true as it is > currently implemented). > With this property set to false, it will avoid lockstep upgrade requirement > for all clients when changing meta properties using PHOENIX-4575 as this > property can be flipped back on once all the clients are upgraded. -- This message was sent by Atlassian JIRA (v7.6.3#76005)