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

ASF GitHub Bot commented on PHOENIX-4579:
-----------------------------------------

Github user ChinmaySKulkarni commented on the issue:

    https://github.com/apache/phoenix/pull/295
  
    @JamesRTaylor I'm trying to check if we can move the logic in the try block 
in init to _ensureTableCreated_ and there seem to be a couple of hurdles while 
doing so. We don't have access to the DO_NOT_UPGRADE property which is declared 
to be private inside UpgradeUtil.java and we can't access its getter method 
'isNoUpgradeSet' from _ensureTableCreated_ because we have properties of type 
'ReadOnlyProps', not 'Properties' (I couldn't find any converter methods 
between these instances). We need this property to decide whether or not to set 
_setUpgradeRequired_ to true.
    
    Also, we call _ensureSystemTablesMigratedToSystemNamespace_ inside this try 
block in init and also have a check which basically throws an 
InconsistentNamespaceMappingProperties exception if 
phoenix.schema.mapSystemTablesToNamespace is false and SYSTEM:CATALOG still 
exists. Now if we move all this logic to _ensureTableCreated_, we would have to 
add extra checks inside this to make sure whether _ensureTableCreated_ is 
called for SYSTEM.CATALOG or SYSTEM:CATALOG. 
    
    Because of this, I don't think it's possible to move all this to 
_ensureTableCreated_.


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

Reply via email to