phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-4579) Add a config to conditionally create Phoenix meta tables on first client connection
Date Fri, 23 Mar 2018 17:03:00 GMT

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

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

Github user ChinmaySKulkarni commented on a diff in the pull request:

    https://github.com/apache/phoenix/pull/295#discussion_r176801550
  
    --- Diff: phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
---
    @@ -2405,16 +2413,26 @@ public Void call() throws Exception {
                                 openConnection();
                                 hConnectionEstablished = true;
                                 boolean isDoNotUpgradePropSet = UpgradeUtil.isNoUpgradeSet(props);
    +                            boolean doesSystemCatalogAlreadyExist = false;
    --- End diff --
    
    @JamesRTaylor that could be a possible solution, but then we would always go through executeUpdate->
... -> _MetaDataClient.createTable_  -> _MetaDataClient.createTableInternal_ -> _CQSI.creataTable_
before finally calling ensureTableCreated and a lot of unnecessary steps would be taken till
that point. If we were to disallow the user to proceed in creating/upgrading SYSTEM.CATALOG
inside ensureTableCreated, then this would lead to a lot of unnecessary intermediary steps.
Instead, can we put all the necessary conditions inside that try block in a separate method
which is always only called inside init? This method would also call _checkClientServerCompatibility_
and thus would fail fast in case an upgrade is required, avoiding other unnecessary steps
like updating the cache, etc.


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

Mime
View raw message